Maven Copy jar с зависимостями в другой проект - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть два проекта Maven, второй проект расширяет некоторые классы первого проекта. Я хочу создать файл jar со всеми зависимостями первого проекта и включить его в другой проект в качестве зависимости. Я давно ищу это, возможно ли это сделать?

Я новичок в Maven, любая помощь по этому вопросу будет принята с благодарностью.

Спасибо

Ответы [ 4 ]

1 голос
/ 28 февраля 2012

Если вы просто хотите добавить зависимости в другой проект, вы добавляете зависимость второго проекта в свой новый проект, и первая будет наследоваться и автоматически включаться.Это то, что называется транзитивной зависимостью.Подробнее об этом читайте в бесплатной книге Maven: полный справочник .

0 голосов
/ 29 февраля 2012

Есть два способа создать толстую банку.Вы включаете саму банку в банку зависимого.В этом случае у вас не будет большого контроля, и плагин maven сделает эту работу.Кроме того, вы можете разархивировать банку и собрать все вместе, чтобы создать новую банку.Вы должны решить, какой из них подходит вам лучше всего.Если у вас есть несколько версий одного и того же класса, то включение нового jar в новый jar поможет, но если версии согласованы, лучше создать jar, разархивировав и заархивировав все.Для второй процедуры я рекомендую использовать плагин maven shade для создания uber jar.

0 голосов
/ 28 февраля 2012

Во втором файле проекта POM укажите первые maven координаты проекта (groupId, artifactId, версия, упаковка) в разделе «зависимости». Он будет транзитивно приобретать все зависимые артефакты.

Хотя в Maven возможно создать автономный jar со всеми его зависимостями. Для этого вы можете использовать maven-shade-plugin. ( Ссылка )

0 голосов
/ 28 февраля 2012

Если я вас правильно понимаю, вы хотите создать uber-jar, содержащий все зависимости, верно?

Пожалуйста, обратитесь к этому вопросу Как я могу создать исполняемый JAR с зависимостями, используя Maven?

...