我有一個簡單的maven插件,而這又取決於父pom文件。父pom文件有10個(第10個)第三方jar依賴項,這些依賴項已使用以下命令安裝在本地repo中。如何使用maven uber pom與依賴關係?
mvn install:install-file -Dfile=foo.jar -DgroupId=com.foo.bar -DartifactId=foo1.jar -Dversion=1.1.0.0 -Dpackaging=jar
同樣,我已經安裝了所有其他9罐到我當地的回購。這是uber pom.xml文件。
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>maven-uber-pom</artifactId>
<packaging>pom</packaging>
<version>1.1.0.0</version>
<name>maven-uber-pom</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo1.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo2.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo3.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
<dependency>
<groupId>com.foo.bar</groupId>
<artifactId>foo4.jar</artifactId>
<version>1.0.0.0</version>
</dependency>
:
:
</dependencies>
我試圖通過引用在我的插件的pom.xml文件,這個超級POM如下:
<project>
<parent>
<groupId>com.foo.bar</groupId>
<artifactId>maven-uber-pom</artifactId>
<version>1.1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>foo-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>
<version>1.1.0.0</version>
<name>foo bar plugin</name>
<url>http://maven.apache.org</url>
</project>
這之後我嘗試
安裝使用pom.xml文件我的插件mvn install <command>
Maven嘗試從中央倉庫http://repo1.maven.org/maven2下載第三方工件依賴關係,隨後失敗。因爲在中央回購中沒有可以找到這種協調的人爲因素。
我也曾嘗試使用超級pom作爲插件依賴項,因爲我很絕望。有任何想法嗎?
如果我看上去正確,你已經安裝了foo.jar,但是不要在你的父pom中引用這個工件,只有foo1.jar,foo2.jar等等。此外,你已經安裝了mavenn-uber-pom,通過mvn安裝在你的本地儲存庫?如果你有第三方的jar文件,那麼我建議你特別使用版本庫管理器,這可能在maven central中不可用。 – khmarbaise
謝謝你指出我。這是一個錯字,編輯了這個。實際上我已經安裝了maven install的所有jar:install-file到我的本地倉庫。 – JourneyMan
'mvn install'是否在父POM項目上運行?如果沒有,那麼它不會被發現。 –