Затмение 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, а затем проанализировать файл, чтобы получить нужные вам банки - см. Эту ссылку.