[英]transitive dependency management in jenkins
我有一個Maven project
,其中有很多數據流處理器和Drop-Wizard服務。
其中, db-source
包含所有DAO
和Entities
,而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-source
和client-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 install
或mvn -N clean install
(僅適用於父模塊)將其部署到本地.m2
來進行嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.