Як створити банку із зовнішніми бібліотеками, що входять до складу Eclipse?


89

Я закінчив з проектом, який підключається до бази даних (MySQL). Тепер я хочу експортувати проект як jar. Але я не знаю, як включити його зовнішні залежності? Чи є якийсь спосіб зробити це в Eclipse, чи я повинен використовувати для цього сценарії ?.


Як ви збираєтеся доставити додаток. кінцевому користувачеві? Мережа / Інтернет, диск або флешка, ..ще щось? Чи додаток. є графічний інтерфейс?
Ендрю Томпсон,

Відповіді:


140

Коли ви експортуєте свій проект як "запустимий jar" (правою кнопкою миші на проекті -> Експорт -> Runnable jar), у вас є можливість упакувати всі залежності у створений jar. У нього також є два інших способи (див. Знімок екрана) експортувати ваші бібліотеки, пам’ятайте про ліцензії, вирішуючи, який спосіб упаковки ви будете використовувати.

Бібліотеки пакетів

У спадному меню "Конфігурація запуску" заповнюються класи, що містять main(String[])метод. Вибраний клас запускається, коли ви "запускаєте" банку.

Експорт як виконуваний jar використовує залежності вашого шляху збірки (правою кнопкою миші на проекті -> Шлях збірки -> Налаштування шляху збірки ...) Коли ви експортуєте як "звичайну" (не запускається) банку, ви можете вибрати будь-який файл у своїх проектах. Якщо у вас є бібліотеки у папці проекту, ви можете включити їх, наприклад, лише зовнішні залежності, не може бути включений (для проектів maven шукайте тут ).


2
@Joost: сер, я не отримую жодної опції під заголовком конфігурації запуску при спробі експортувати додаток Java як запустиму jar. Що може бути неправильним чи відсутнім?
Rat-a-tat-a-tat Ratatouille

Eclipse перелічує main()методи, про які йому відомо. Спробуйте запустити програму один раз (проект правою кнопкою миші, Запустити як, додаток Java), а потім експортуйте знову.
Joost

Це неактуально для цього питання, оскільки воно чітко говорить про Затьмарення. Будь ласка, опублікуйте нове запитання, якщо ви не можете знайти відповідь (що вже точно є на цьому сайті)
Joost

1
Хтось знає, як це зробити для непрацюючої банки в затемненні? Немає варіантів, пов’язаних із „необхідними бібліотеками”.
jb1

@ jb1 Ти коли-небудь це розгадав?
TheKingElessar

9

Ви можете використати Експорт-> Java-> Запускається Jar, щоб створити jar, що включає його залежності

Крім того, ви можете використовувати плагін fatjar eclipse, щоб також зв’язати банки


5

Ви можете клацнути правою кнопкою миші на проекті, натиснути на експорт, набрати «jar», вибрати «Запуск файлу JAR». Там у вас є опція "Витяг необхідних бібліотек у згенерований JAR".


3

Особисто

Жоден з наведених вище відповідей не спрацював для мене, я все ще отримував помилки NoClassDefFound (я використовую Maven для залежностей). Моє рішення було побудувати за допомогою "mvn clean install" та використовувати "[project] -jar-with-dependencies.jar", який створює ця команда. Так само в Eclipse ви можете клацнути правою кнопкою миші проект -> Запустити як -> Встановити Maven, і банки помістять у цільову папку.


2

Якщо ви хочете експортувати всі JAR-файли веб-проекту Java, відкрийте останній згенерований WAR-файл за допомогою інструмента ZIP (наприклад, 7-Zip), перейдіть до папки / WEB-INF / lib /. Тут ви знайдете всі JAR-файли, необхідні для цього проекту (як зазначено в "Бібліотеки, на які посилаються").


0

Під час експорту вашого джерела в банку, обов’язково виберіть із параметрів параметр, який можна запустити. Потім виберіть, якщо ви хочете упакувати всі банки залежностей або просто включити їх безпосередньо у файл jar. Це залежить від проекту, над яким ви працюєте.

Потім ви запускаєте jar безпосередньо за допомогою java -jar example.jar.


0

Щоб створити jar-файл у eclipse, клацніть правою кнопкою миші на проекті, для якого ви хочете створити файл, виберіть Експорт> Java> Запущений файл Jar,

введіть тут опис зображення

введіть тут опис зображення

Його jar-файл створення, який включає всі залежності від Pom.xml, але переконайтеся, що ви видали ліцензію, якщо для своєї програми використовуєте сторонні залежності.


0

Якщо це автономний (основний метод) java-проект, тоді Ніякий конкретний шлях не поміщає всі банки всередину проекту, а не будь-який конкретний шлях, тоді клацніть правою кнопкою миші на проекті -> експорт -> Запустити jar -> Виберіть конфігурацію обіду та обробку бібліотеки потім виберіть опцію перемикача "Пакувати необхідні бібліотеки у згенеровану банку" -> Готово.

Або

Якщо у вас є веб-проект, тоді покладіть всі банки в папку web-inf / lib і виконайте той самий крок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.