我有一个基于Java的GitHub项目,fitnessjiffy-spring(我目前专注于"bootstrap"分支).它取决于从另一个GitHib项目(fitnessjiff- etl)构建的库.我正在尝试配置由Travis CI构建的这两个.
不幸的是,Travis在处理基于Maven的Java项目时并不像Jenkins或Hudson那样复杂.Jenkins可以轻松处理项目之间的依赖关系,但Travis似乎并不存在相同的概念.如果一个项目依赖于另一个项目,那么其他项目必须先前已经构建...并且其工件上传到某个Maven仓库,第一个项目可以在以后下载.
我的"fitnessjiffy-etl"图书馆正在建设和部署.我正在使用Bintray进行Maven存储库托管,您可以通过以下方式在纯HTTP上清楚地看到我的工件:
http://dl.bintray.com/steve-perkins/maven/
在我的"fitnessjiffy-spring"项目中,我将直接添加此Maven repo位置pom.xml
,以便Travis能够找到该工件依赖项. 这是我撰写本文时POM的状态.请注意
文件底部的元素.
当我在本地构建这个项目时,它工作正常.我可以看到它从" http://dl.bintray.com/ ..." 下载Maven工件.但是,当我尝试在Travis CI上构建时,它每次都会失败.我可以在控制台日志中看到Travis仍在尝试从Maven Central下载工件而不是我指定的repo.
这对其他人有意义吗?为什么Maven在本地构建时在POM文件中使用自定义存储库位置,但在Travis CI构建上运行时忽略此配置?