как распространять java-приложение с такими библиотеками, как itext?



Я написал приложение на java. Он использует iText, jXL и JAI.



Как построить jar, который содержит все эти библиотеки? Или я должен заставить пользователя установить их тоже?

604   5  

5 ответов:

Либо распакуйте банки в ваш jar, либо просто добавьте их в путь к классу jar через атрибут Class-Path в вашем meta-inf и распределите библиотеки вместе с вашим основным jar. Пример META_INF / Manifest.МФ:

Manifest-Version: 1.0
Class-Path: itext.jar jxl.jar jai.jar
Main-Class: com.xxx.yyy.Main

Как только вы имеете дело с внешними библиотеками, вы должны взглянуть на Maven. Этот инструмент является построителем, таким как Ant, но он способен обрабатывать зависимости библиотек автоматически. С помощью этого конструктора вы сможете как встроить зависимости вашего проекта в jar, так и разрешить пользователям создавать его на своем собственном компьютере без загрузки зависимостей библиотеки вручную.

Вот сайт проекта: http://maven.apache.org/
где вы можете найти быстро инструкции: http://maven.apache.org/users/index.html
и, наконец, электронные книги, чтобы пойти дальше: http://maven.apache.org/articles.html

Вы можете упаковать все банки в одну, создавая свой проект с Ant. Если вы используете NetBeans, Эта страница описывает, как можно изменить сценарии сборки NetBeans, чтобы сделать это за вас.

Вы можете использовать утилиту типа jarjar для объединения ваших классов и других библиотек в один развертываемый файл.

Спасибо за все решения!

Fatjar-отличный плагин для Eclipse, который тоже все это делает (:

Comments

    Ничего не найдено.