превратить обычную банку в мавенскую банку с внутренним pom.xml для Artifactory - PullRequest
3 голосов
/ 12 апреля 2011

Мне нужно использовать xyz.jar, который был сгенерирован с помощью ant. Следовательно, переходные зависимости отсутствуют. Поэтому у меня возникла идея изменить файл xyz.jar для добавления внутренних файлов META-INF / maven / groupId / artifactId / pom.xml и pom.properties.

Когда я развернул его в Artifactory, он проигнорировал их и сгенерировал свой собственный pom.xml без зависимостей.

Что нужно сделать, Artifactory развертывает файл pom.xml, находящийся в той же папке, что и файл xyz.jar?

Потерял слишком много времени на это уже ...

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Скорее всего, Artifactory пропустит развертывание внутреннего POM, поскольку не может прочитать физический размер POM из архива (сделано по историческим причинам);Вы можете убедиться в этом, посмотрев в журнал сообщение с предупреждением в виде строк:

"Найден файл pom.xml с размером -1 внутри zip. Игнорирование"

Если вы уже приступили к созданию настраиваемого файла POM, вы можете вставить его содержимое в редактор содержимого POM средства развертывания артефакта или развернуть его самостоятельно;хотя первый вариант даст вам преимущество автоматического определения координат развертывания для файла JAR.

0 голосов
/ 13 апреля 2011

измените муравей, создающий xyz.jar, чтобы создать исполняемый jar - в jar должны быть упакованы все его зависимости. (Создайте каталог lib в вашем проекте xyz и поместите все jar, зависящие от xyz внутри этого каталога, затем экспортируйтеваш проект для jar со всеми библиотеками, упакованными внутри) хороший пошаговый пример того, как создать скрипт ant, можно найти здесь .

удачи!

0 голосов
/ 12 апреля 2011

Может быть, лучше добавить его зависимости в ваш pom, а не настраивать стороннюю библиотеку для использования maven.

При этом убедитесь, что ваш файл pom.xml является допустимым XML (большинство современных IDE могут проверять xml для вас) и убедитесь, что ваш файл свойств содержит версию, идентификатор группы и идентификатор артефакта.

Artifactory изменил способ обработки генерации POM в разных версиях, поэтому, в зависимости от вашей версии, у вас может быть какая-то опция генерирования pom, которую вы должны отключить при развертывании. Я думаю, что у них есть редактор времени развертывания или что-то подобное в более новых версиях.

...