我正在使用circleCI进行webapp的持续集成,该集成是使用maven构建的。我想让maven在运行测试和构建CircleCI时使用外部库
由于库只有一个更大的父maven项目中的兄弟项目的工件,我可以在我的本地环境中构建这个项目没有任何问题,因为我已经将它作为依赖项添加到我的pom.xml中。
我尝试使用下面的circle.yml和bash文件手动将构建的jar文件添加到M2_HOME中。
circle.yml:
#...
dependencies:
pre:
- sudo chmod a+x add_dependencies.sh
- ./add_dependencies.sh
#...
add_dependencies.sh:
sudo wget http://my.jar.file.url -O exteral_lib.jar --quiet
sudo mkdir -p ${HOME}/.m2/repository/com/group/artifact/1.0.0/
sudo cp -rl ./exteral_lib.jar ${HOME}/.m2/repository/com/group/artifact/1.0.0/exteral_lib.jar
sudo rm -f ./exteral_lib.jar
但它没有用。
Failed to create parent directories for tracking file,
Non-resolvable import POM: Could not transfer artifact
当CircleCI试图解决依赖关系时发生了。
我该如何解决这个问题?
答案 0 :(得分:1)
您可以尝试安装它,而不是将jar复制到存储库:
mvn install:install-file -DgroupId=<your group id> -DartifactId=<your artifact id> -Dversion=<your version id> -Dpackaging=jar -Dfile=<your jar filename> -DgeneratePom=true
示例:
mvn install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc -Dversion=4.2 -Dpackaging=jar -Dfile=sqljdbc.jar -DgeneratePom=true