[英]Maven build dependencies before checking nexus
我正在使用命令構建我的多模塊項目
mvn clean deploy -DskipTests
該項目包含3個Maven模塊:A,B,C。
A不依賴任何東西。
B不依賴任何東西。
C取決於A。
我遇到一個很奇怪的情況,maven看到C依賴於A,然后決定從源代碼中構建A,而是決定檢查它的關系(因為我的.m2本地存儲庫不包含A),並且它獲取了舊版本然后繼續構建所有內容,但是當到達C時,它將使用舊版本的A並失敗。
如果我以離線模式運行構建,那么它將很好用,但是問題是我確實想在完成后將新的工件部署在nexus中,而maven離線模式限制了我這樣做。
我想知道我是否在做一些很奇怪的事情,這似乎很容易處理。
編輯:如果我登錄到nexus,並且手動刪除了所有舊工件,然后使用上面提供的命令進行構建,則一切正常。
編輯2:C取決於A的“提供”范圍,例如:
<dependency>
<groupId>com.test</groupId>
<artifactId>application</artifactId>
<scope>provided</scope>
<type>jar</type>
</dependency>
(版本在父pom的dependencyManagement部分中聲明)。
選項:
提交A,以便獲得最新的更改,C可以正常構建
使C依賴於A的特定版本。更新A的版本並使C依賴於它
原來問題與android中的Espresso Testing框架有關。 pom.xml中的一個android依賴項是使用<scope>test</scope>
而不是<scope>provided</scope>
,這引起了描述的麻煩。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.