Нестандартное имя зависимости в maven - PullRequest
0 голосов
/ 05 января 2012

У меня есть несколько таких зависимостей. Например: jdic

В моем pom.xml я определил зависимость

<dependency>
<artifactId>jdic</artifactId>
<groupId>jdic</groupId>
<version>0.8.6</version>
</dependency>

И у меня есть удаленный репозиторий (внутренний сервер): например, http://repo/thirdparty/ И Jdic можно найти в http://repo/thirdparty/jdic/jar/jdic.jar

Как вы заметили, наименование - это не обычный groupId: artifactId: version, а просто jdic.jar

поэтому, когда я запускаю maven compile

mvn clean compile

maven говорит мне, что не может разрешить зависимости. Я знаю, что мы можем просто скачать эти jar-файлы в локальный репозиторий .m2 / repository и запустить

mvn compile (ie without clean)

и в банке это не будет проблемой. Но есть ли другой способ, которым я могу заставить его получать данные с удаленного устройства, несмотря на его нетрадиционное имя и отсутствие метаданных / информации о пометках для этих зависимостей?

У меня уже есть зеркало для этого внутреннего хранилища, которое переопределяет центральное

Ответы [ 2 ]

0 голосов
/ 05 января 2012

Удаленный репозиторий Maven - это НЕ какой-либо веб-сервер, размещающий файлы так, как вы хотите.Есть много соглашений, чтобы следовать.Одним из них является способ представления версии (которая является одним из важнейших элементов артефакта).С вашим «удаленным хранилищем» становится ясно, что Maven не может найти артефакт.

Настройте настоящий удаленный хранилище Maven для размещения таких файлов.Вы можете взглянуть на Nexus и Artifactory.

0 голосов
/ 05 января 2012

Вы можете установить jdic в свой внутренний / зеркальный репозиторий с версией (jdic-0.8.6.jar).

Если вы используете менеджер хранилища и загрузили в него jar-файл, он автоматически создаст для него pom, а также обеспечит создание зависимости с версией в соответствии с соглашением maven.

...