【问题标题】:Travis uses ant instead of mavenTravis 使用 ant 代替 maven
【发布时间】:2019-04-10 08:31:56
【问题描述】:

我有一个包含 3 个我想使用 Travis 的 maven 项目的仓库。

由于 pom.xml 不在 repo 的根目录中,Travis 看不到它并尝试使用 build.xml 构建,但失败了。

我尝试设置自定义构建脚本,但 Travis 似乎没有继续尝试使用 Ant 构建。

我的.travis.yml 文件:

language: java
sudo: false

matrix:
 include:
  - os: linux
    jdk: oraclejdk8
script: ./build.sh
cache:
 directories:
  - $HOME/.m2

还有 build.sh

#!/bin/bash
set -ev
cd Code/Java/DBServer
mvn clean install

pom.xml 的位置是Code/Java/DBServer/pom.xml

如何让 Travis 使用 Maven 构建?

【问题讨论】:

  • 为什么 pom.xml 不在 repo 的根目录中?如果可能的话,把它放在那里。
  • pom.xml 不在 repo 的根目录中,因为我在一个 repo 中有 3 个 maven 项目。所以我的 pom.xml 文件位于 3 个不同的目录中。而且我真的不想改变这种结构。
  • 我不认识 Travis,但我知道在构建系统中您分别构建单独的项目并将 pom 的目录分配给每个构建。
  • 是的,这就是我想要做的。我还想用 Travis 脚本指定 pom.xml 的路径:mvn -q -B -f Code/Java/Bookstore/pom.xml clean verify,但它也不起作用。这应该告诉 Travis 使用 maven 构建以及 pom.xml 在哪里,但它仍在执行 ant 测试
  • 您可以使用父 pom,指定您要构建的模块。

标签: java maven travis-ci


【解决方案1】:

我的猜测是 travis 在 install 阶段使用默认的 Ant 构建。

我会尝试使用 .travis.yml 来消除 travis 的 install 阶段,如下所示:

language: java
sudo: false
os: linux
jdk: oraclejdk8
install: 
script: ./build.sh
cache:
 directories:
  - $HOME/.m2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 2010-10-16
    • 2011-03-20
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多