направете обикновен буркан, за да станете maven jar с вътрешен pom.xml за Artifactory

Трябва да използвам xyz.jar, който е генериран с ant. Следователно транзитивните зависимости липсват. Така че имах идеята да модифицирам xyz.jar, за да добавя вътрешните файлове META-INF/maven/groupId/artifactId/pom.xml и pom.properties.

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

Какво трябва да се направи, Artifactory внедрява pom.xml, разположен в същата папка като файла xyz.jar?

Изгубих твърде много време за това вече...


person andreas    schedule 12.04.2011    source източник
comment
Защо не използвате Ivy за справяне със зависимостите или вместо това използвате Maven.   -  person khmarbaise    schedule 12.04.2011
comment
Използвам maven за моя проект, който се нуждае от xyz.jar, който е създаден с ant. Искам да кажа на artifactory/maven кои са транзитивните зависимости, от които се нуждае xyz.jer, без да добавям транзитивните зависимости към pom.xml на моя проект   -  person andreas    schedule 12.04.2011
comment
Трябва да създадете pom със зависимостите за вашия xyz.jar, в противен случай няма да работи. Можете да създадете този pom ръчно и да добавите към вашия Ant проект, а по време на внедряването можете да добавите и pom.   -  person khmarbaise    schedule 12.04.2011


Отговори (3)


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

„Намерен файл pom.xml с размер -1 в zip файла. Игнориране“

Ако вече сте положили усилия да създадете персонализиран POM файл, можете да поставите съдържанието му в редактора на POM съдържание на инструмента за внедряване на артефакти или да го разположите независимо; въпреки че първата опция ще ви даде предимството на автоматично откриване на координатите за разполагане на JAR файла.

person noamt    schedule 12.04.2011
comment
Погледнах в лог файловете на tomcat, но не намерих запис, подобен на този, който споменахте тук. Може би ще го пробвам по-късно, но съм в горещия край на фазата на проекта, само се радвам, че работи в момента.... - person andreas; 13.04.2011

Може би е по-добра идея да добавите неговите зависимости към вашия pom, вместо да монтирате библиотека на трета страна, за да използвате maven.

Като се има предвид това, уверете се, че вашият pom.xml е валиден XML (повечето съвременни IDE могат да валидират xml вместо вас) и се уверете, че вашият файл със свойства включва версия, идентификатор на група и идентификатор на артефакт.

Artifactory промени начина, по който обработва генерирането на POM в различни версии, така че в зависимост от вашата версия може да имате някакъв вид опция за генериране на pom, която трябва да изключите при внедряване. Мисля, че имат редактор за разгръщане на времето или нещо подобно в по-новите версии.

person Jon7    schedule 12.04.2011
comment
това е вътрешна библиотека, така че не е много лошо. когато трябва да го приема един ден, може би ще го мигрирам към настройка на maven... - person andreas; 13.04.2011

модифицирайте мравката, която създава xyz.jar, за да произведе изпълняващ се буркан - бурканът трябва да има пакетирани всичките си зависимости. (създайте директория lib във вашия проект xyz и поставете всички буркани, от които зависи xyz, в тази директория, след което експортирайте проекта си в jar с всички библиотеки, опаковани вътре) добър пример стъпка по стъпка как да създадете мравка скрипт може да се намери тук.

късмет!

person aviad    schedule 13.04.2011