Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java tools & IDE's > Добавить в classpath Jar из Jar-а |
Автор: v2v 18.3.2010, 21:39 |
Есть jar (А) внутри которого лежит папка lib с другим джарником (В). A.jar ./lib ./lib/B.jar 1. Если просто подключить внутренний джарник (В) через maven dependencies , то все классы находятся и проект собирается. 2. Если классы из джарника (В) развернуть , потом завернуть в джарник (А), то все классы находятся и проект собирается. 3. Но если вложить джарник (В) в джарник (А), то не находит классы из внутрненнего джарника не находятся и проект не собирается. Что то надо прописать в манифесте джарника А? Или как то по умному указать его в dependencies? Предпочтительней второй вариант, потому что джарник А собирается с помощью maven bundle plugin для OSGi, но он должен работать и в "стенделон" режиме.. покрайне мере работает если не заварачивать джар в джар (см. 2). |
Автор: intr 19.3.2010, 03:18 |
Немного сумбурно, но если я правильно понял, то надо собрать JAR-архив со всеми зависимостями. К сожалению JAR внутри другого JAR не работает, потому надо распаковывать классы из нужных JAR-архивов, и потом запаковывать их в основной JAR-архив, вместе с классами приложения. Для Maven есть два основных способа это сделать: 1. Использовать Maven assembly - http://maven.apache.org/plugins/maven-assembly-plugin/ 2. Использовать Maven shade - http://maven.apache.org/plugins/maven-shade-plugin/ То есть зависимости в Maven от библиотек указываются как обычно, и дополнительно настраиваются один из вышеприведенных плагинов для сборки итогового JAR-архива. Я предпочитаю второй способ. |
Автор: RageSteel 19.3.2010, 07:11 | ||||
У меня вполне успешно работает jar внутри jar, собранный с помощью maven assembly plugin. Конфигурация в pom.xml:
Описатель dist.xml:
|
Автор: v2v 19.3.2010, 12:51 |
Нет, мне не надо собирать итоговый джарник. Собранный джарки вообще то будут лежать отдельно. Мне всего то надо через мавен подключить свои джарки (с джарками) как депенденси и пройти тесты проекта. |