我們安裝了Archiva,默認情況下設置了兩個存儲庫。Snapshot存儲庫問題
這裏是我的的settings.xml:
<server>
<id>mycompany-release</id>
<username>admin</username>
<password>******</password>
</server>
<server>
<id>mycompany-snapshots</id>
<username>admin</username>
<password>******</password>
</server>
<mirror>
<id>mycompany-release</id>
<url>http://X.X.X.X:8080/archiva/repository/internal/</url>
<mirrorOf>external:*</mirrorOf>
</mirror>
<mirror>
<id>mycompany-snapshots</id>
<url>http://X.X.X.X:8080/archiva/repository/snapshots/</url>
<mirrorOf>apache.snapshots</mirrorOf>
</mirror>
<profile>
<id>repo</id>
<repositories>
<repository>
<id>mycompany-release</id>
<url>http://X.X.X.X:8080/archiva/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>mycompany-snapshots</id>
<url>http://X.X.X.X:8080/archiva/repository/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<activeProfiles>
<activeProfile>repo</activeProfile>
</activeProfiles>
我有我用來設置常見的配置爲所有項目父項目。此父項目的版本爲1-SNAPSHOT。所以,在所有其他項目中,父節指向版本爲1-SNAPSHOT的父項目(不含相對路徑元素)。如果我將我的父項目部署到存檔庫,它就在那裏。如果我嘗試在另一個項目上運行任何命令(如mvn clean),它將在部署期間安裝父項目,因此它可以工作。但是,如果我從我的本地庫手動刪除父項目並嘗試運行相同的命令時,Maven將返回一個錯誤說:
非解析父POM:找不到神器 com.mycompany:家長:POM :1快照myCompany的釋放 (HTTP:// XXXX:8080/archiva /庫/內部/)和 'parent.relativePath' 在錯誤的地方POM點
似乎父項目在發佈版本庫中查找時,我期望它在快照庫中查找。
感謝您的幫助
編輯:這裏是孩子POM的一部分:
<parent>
<groupId>com.mycompany</groupId>
<artifactId>Parent</artifactId>
<version>1-SNAPSHOT</version>
</parent>
<groupId>com.mycompany</groupId>
<artifactId>child</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
如果刪除父節和運行mvn幫助:有效-POM,我得到(僅存放區被示出):
<repositories>
<repository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>mycompany-release</id>
<url>http://X.X.X.X:8080/archiva/repository/internal/</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>mycompany-snapshots</id>
<url>http://X.X.X.X:8080/archiva/repository/snapshots/</url>
</repository>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2</url>
</repository>
</repositories>
注:如果我更換由1父版本(而不是1-SNAPSHOT),它的工作原理。
請爲子項目提供'pom.xml'。 – 2012-02-26 20:07:46
@AndrewLogvinov謝謝,我編輯了這篇文章。 – 2012-02-26 20:26:20
我會說這是剩下的需要=)你可以執行'mvn help:effective-pom'和後期輸出(''部分應該足夠了)。 –
2012-02-27 04:38:50