Как упаковать библиотеки в мою банку с помощью Ant
Мое приложение опирается на две внешние библиотеки, у меня есть обе в jar
и добавили их в мой путь к классам, что позволило запускать мое приложение в NetBeans.
Тем не менее, я хотел бы упаковать свое приложение в простой в использовании jar
файл. Когда я попробовал автоматический метод jar
создание, предоставляемое NetBeans (где он автоматически генерирует jarfile в dist/
) и запустил его на другом компьютере, я получил множество исключений ClassNotFound (или аналогичных) для классов, которые, как я мог сказать, должны были быть предоставлены моими другими библиотеками.
Есть ли способ, которым я могу включить другие jarfiles в свой собственный jar? Я никогда не создавал приложение, которое бы опиралось на другие библиотеки, так что это первое для меня.
1 ответ
Вы можете добавить строку "Class-path" в манифест вашей банки. Недостатком является то, что вам приходится жестко кодировать пути к расположению файловой системы (не jar) в манифесте. Если вы поместите их все в один каталог или в соответствующий относительный каталог, это должно быть управляемым.
См. http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html
В качестве альтернативы вы можете попробовать что-нибудь в строке One-JAR: http://one-jar.sourceforge.net/