【发布时间】: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,指定您要构建的模块。