Затмение Java; jar экспорта, включает библиотеки, на которые есть ссылки, без fatjar

Мне нужно экспортировать jar из моего проекта Eclipse Java, и я хочу включить указанные библиотеки. Я не могу использовать фуджар для этого, что каждый, кажется, рекомендует. Должен быть другой способ сделать это. Кто нибудь знает что это?!

7 ответов

Решение

В следующей версии Eclipse (3.5, которая выйдет в июне следующего года) есть возможность включить все необходимые банки. Он был представлен в 3.5M5 (спасибо, basszero).

Или вы можете попробовать построить свой проект с Maven 2. Затем вы можете построить "толстую" банку с mvn assembly:assembly,

Другим вариантом является использование муравья. Распакуйте все файлы JAR во временный каталог и снова поместите их в папку.

Я думаю, что его версия 3.3 Eclipse (ganymede), которая имеет файл экспорта как Runnable JAR. В прошлый раз, когда я попробовал это, он включал в себя библиотеки, на которые есть ссылки, а также разархивировал все банки.

Эта функция eclipse прекрасно работает, когда в отдельную папку выгружаются только те библиотеки, на которые есть ссылки. "Экспортировать как Runnable Jar" с параметром "Скопировать указанные библиотеки в подпапку...".

Просто опубликуйте небольшую (Helios) информацию о том, как использовать Jcl для экспорта в Eclipse - сначала вы должны запустить (в Eclipse) класс с методом main(), в противном случае раскрывающийся список "Конфигурация запуска" будет пустым, и вы не сможете экспорт.

Я использовал проект maven вместо проекта java, и это сработало!

Я думаю, вы могли бы изменить свой скрипт сборки, чтобы включить библиотеки. Если я правильно понимаю, вы можете положить в <jar destfile="myProject.jar"> ... <zipfileset src="theExternalLib.jar"> </jar>

Вы можете экспортировать файл XML из Eclipse, а затем проанализировать файл, чтобы получить нужные вам банки - см. Эту ссылку.

Другие вопросы по тегам