簡體   English   中英

如何在 CircleCI 上為 Maven 包含外部庫

[英]How to include external library for maven on CircleCI

我正在將 circleCI 用於使用 maven 構建的 webapp 的持續集成。 我想讓 maven 在運行測試和在 CircleCI 上構建時使用外部庫。
由於該庫在較大的父 maven 項目中只有一個兄弟項目的工件,因此我可以在本地環境中毫無問題地構建這個項目,因為我已經將它作為依賴項添加到我的 pom.xml 中。
我嘗試使用下面的 circle.yml 和 bash 文件手動將構建的 jar 文件添加到 M2_HOME 中。

圓.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 嘗試解決依賴關系時發生。

我怎么解決這個問題?

您可以嘗試安裝它,而不是將 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM