У меня есть простой плагин maven, который, в свою очередь, зависит от родительского файла pom. В родительском pom-файле есть десять (10 номеров) сторонних jar-зависимостей, которые были установлены в моем локальном репо, используя следующую команду.Как использовать 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 в файле pom.xml моего плагина следующим:
<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 и впоследствии не удается. Поскольку нет артефакта, какие такие координаты можно найти в центральном репо.
Я также пытался использовать uber-pom в качестве зависимостей плагина, так как я был в отчаянии. Есть идеи?
Если я правильно посмотрел, вы установили foo.jar, но не ссылаетесь на этот артефакт в родительском pom только foo1.jar, foo2.jar и т. Д. Кроме того, вы установили mavenn-uber-pom через mvn install в локальном хранилище? Я рекомендую использовать диспетчер репозитория, в частности, если у вас есть сторонняя банка, которая может быть недоступна в maven central. – khmarbaise
Спасибо, что указали мне это. Это была типография, которая отредактировала это. Я фактически установил все банки с установкой maven install: install-file в свое местное репо. – JourneyMan
Был ли запущен «mvn install» на родительском проекте POM? Если нет, то он не будет найден. –