我遇到了拉入新版本庫的問題,這個庫位於不同的存儲庫中。我相信我必須更新我的settings.xml
和我的父級pom.xml
,它指定了新版本。使用多個Maven鏡像將不同的jar版本拉入項目
目前我settings.xml
讀取類似如下:
<settings>
<mirrors>
<mirror>
<id>nexus</id>
<url>http://serenity.gm.edu/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>mods</id>
<url>http://7.169.72.8:8081/nexus/content/repositories/releases/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>default</id>
<repositories>
<repository>
<id>mod-thirdparty</id>
<url>http://7.169.72.8:8081/nexus/content/repositories/thridparty/</url>
</repository>
<repository>
<id>mod-snapshots</id>
<url>http://7.169.72.8:8081/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>Tomcat</id>
<username>admin</username>
<password>xxx</password>
</server>
</servers>
默認鏡子在那裏一切都被從拉是寧靜。我試圖從7.169.72.8拉入一個自定義庫mod3.2
,但版本2.3不斷從寧靜中拉進來。我嘗試了一些<mirrorOf>
設置,例如*,!central
,但沒有成功。
我的父母pom.xml
非常簡單,定義了一系列模塊,過程和全局依賴關係。以下是感興趣的項目(顯示時間太長)。
<project ...>
...
<distributionManagement>
<repository>
<id>releases</id>
<name>mod2-releases</name>
<url>http://7.169.72.8:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>mod2-snapshots</name>
<url>http://7.169.72.8:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<properties>
...
<mod2.version>3.2</mod2.version>
...
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>mod2.commons</groupId>
<artifactId>mod2.commons.lang</groupId>
<version>${mod2.version}</version>
</dependency>
<dependency>
<groupId>mod2.commons</groupId>
<artifactId>mod2.commons.audit</groupId>
<version>${mod2.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
總括來說 - 我想從7.169.72.8
版本mod2的3.2版本,但我可以在mod2的2.3版本從serenity
回購拉。謝謝你的幫助。
Maven沒有理由在這裏尋找版本2.3,因爲版本明確3.2。雖然配置文件'default'沒有被激活,在設置中應該有一個'默認 activeProfile> activeProfiles>'。也就是說,即使這個配置文件沒有被激活,Maven也應該查看安靜回購,失敗,然後查看7.169.72.8(或者反過來,不知道鏡像是否有順序)。 –
Tunaki
正是我的想法。由於pom明確地說3.2,爲什麼它從'寧靜'(即2.3) – jiveturkey
拉出來某個地方,版本正在被重新定義。你的依賴在一個'dependencyManagement'裏面,所以也許一個使用它的子項目將版本重新定義爲2.3?或者有一個系統屬性設置'mod2.version'? – Tunaki