У меня есть пачка OSGI, который был построен с использованием Maven другой командой. Файл POM объявляет свою упаковку как «Bundle» и использует плагин Apache Felix.
Мне нужно развернуть этот артефакт в местный репозиторий Maven (Nexus), чтобы его могли использоваться нашими внутренними проектами.
Я использовал развертывание : развертывание файла
, чтобы развернуть пучок в репозиторий, так же, как и в стандартном файле JAR, и это работает без ошибок. Я извлекил встроенный пом из расслоения и прошел, что в командной строке, поэтому командная строка была:
mvn deploy:deploy-file -Dfile=3rdpartybundle.jar -DpomFile=pom.xml -DrepositoryId=internal -Durl=http://internalserver/nexus
вопрос заключается в том, что, когда я развернул это, упаковка установлена на пучок и в результате имени Артефакт в репозитории заканчивается расширением .bundle вместо расширения .jar.
Теперь мы не можем выяснить, как объявить его как зависимость. Если мы объявляем это так:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>bundle</type>
</dependency>
Мы получаем ошибку, указав, что зависимость не может быть разрешена. Интересно, что координаты GAV в сообщении об ошибке на самом деле имеют «банку» в качестве значения для типа зависимости, даже если мы устанавливаем его как «Bundle».
Если мы изменим зависимость:
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>jar</type>
</dependency>
мы получаем то же самое неразрешенную ошибку зависимости.
Итак, как вы должны развернуть артефакт, упакованный в виде пакета к репозитории Maven, так что его можно использовать как зависимость времени компиляции для другого проекта?
Спасибо
-