Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Программирование

Java. Idea и Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/Address : Программирование

16.04.2024 10:56


04.01.2015 13:50
OlegON
 
Убился, никак не получалось собрать в idea-community-13 jar таким образом, чтобы включить все зависимости (у меня это mail.jar и ojdbc.jar).

Изначально в artefacts были настроено просто - результаты компиляции моего кода в jar + extracted directories для зависимостей (mail и ojdbc). Получался громадный jar, который бы пришлось каждый раз перекачивать, да и обфускатор на него матерился не по детски. Стал разламывать - хоть плачь, получается маленький jar, но зависимостей не видит.

Сначала установил переменную CLASSPATH с относительными путями - фиг, пересчитал, сделал абсолютные - фиг, запускал с ключом -classpath - фиг. Включил библиотеки в свой jar без распаковки - фиг. Вынес в отдельную директорию - фиг Учитывая модульность программы пересобирать приходилось и выкладывать на другой хост для запуска. Прошел не один час, в том числе и попыток перестановки различных комбинаций classpath и безрезультатного гугления.

Правильный результат (путем подбора):
В артефакт включаются только результаты компиляции.
Библиотеки зависимостей кладутся в ту же директорию, что и jar самой программы, а вот на закладке Artifacts->Output layout, в поле Class path надо указать вручную
Цитата:
./mail.jar ./ojdbc.jar
какого хрена оно туда не попадает автоматом, хотя библиотеки указаны и для компиляции и для рантайма... В общем, багофича, развивайте пальцы ручным вводом. Кстати, несколько раз ловил глюк со сборкой артефактов по старым параметрам... Но удобная эта idea, собака... Пока не откажусь, хотя в Netbeans вопрос сборки jar вообще как-то не поднимался.
Часовой пояс GMT +3, время: 10:56.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.