簡體   English   中英

Jenkins中的傳遞依賴管理

[英]transitive dependency management in jenkins

我有一個Maven project ,其中有很多數據流處理器和Drop-Wizard服務。

其中, db-source包含所有DAOEntities ,而client-source包含外部服務端點,這些端點由project中的所有應用程序使用。
到目前為止,每個子應用程序都在其自己的pom中單獨添加了對它們的依賴關系,現在我認為應該使用project POM上的<dependencyManagement>將其<dependencyManagement>為通用版本。

這是表面上的項目結構

+ project
    + db-source - pom.xml => picks version from build.properties
    + client-source  - pom.xml => picks version from build.properties
    + fabric - pom.xml => has db and client and there versions are picked from project_POM
    + the_pain_repo - pom.xml => uses fabric and picks its version from project_POM
+ project_POM

project_POM包含用於fabric和其他存儲庫中的db-sourceclient-source版本的<dependencyManagement>the_pain_repo是上述示例存儲庫之一)

因此,如果您觀察到, <dependencyManagement>如下所示

   ==> fabric -> project_POM
   ==> the_pain_repo -> fabric -> project_POM   

現在,從project_POM選擇版本后,fabric可以很好地構建,但是the_pain_repo引發錯誤,它無法選擇db-source (來自fabric )版本。

錯誤:

[ERROR] Failed to execute goal on project inventory-processor: Could not resolve dependencies for project x.y.z:the_pain_repo:jar:1.7.4-SNAPSHOT: The following artifacts could not be resolved: x.y.z:db-source:jar:${db.source.version}, 
 x.y.z:client-source:jar:${client.source.version}: Could not find artifact x.y.z:client-source:jar:${client.source.version} in systems-artifactory (http://artifactory.systems.com/content/groups/public) -> [Help 1]
[ERROR] 

詹金斯(Jenkins)中的值:

Root POM :  the_pain_repo/pom.xml
Properties File Path : the_pain_repo/build.properties

將父pom部署到您的Maven存儲庫(或工件)。 您可以通過執行mvn clean installmvn -N clean install (僅適用於父模塊)將其部署到本地.m2來進行嘗試。

暫無
暫無

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

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