#java #eclipse #jakarta-ee
#java #eclipse #джакарта-ee
Вопрос:
У меня есть 2 java-проекта, я хочу использовать один в другом, я попытался экспортировать тот, который я хочу использовать в качестве jar-файла, и я добавил его в путь сборки другого, но когда я исключаю, возникает это исключение «java.lang.NoClassDefFoundError» . помогите, пожалуйста (Я ХОЧУ СОХРАНИТЬ ЭТИ 2 ПРОЕКТА ОТДЕЛЬНО)!
Комментарии:
1. пожалуйста, опубликуйте полную трассировку стека. подобные вопросы притягивают к себе отрицательные голоса. но на этот раз я не буду обращать на это внимания.
2. Это исключение может означать много вещей, пара из которых не может быть найдена class или используются несовместимые версии компилятора. Полная трассировка стека и структура проекта должны помочь выявить проблему.
3. Вы где-то упускаете зависимость.
4. Вы получаете эту ошибку при запуске проекта в eclipse или при запуске проекта вне eclipse?
5. когда я запускаю проект в eclipse
Ответ №1:
Вы можете добавить проект как зависимость от конфигурации пути сборки.
Комментарии:
1. Спасибо, проблема решена, но с помощью jar-файла. проблема была вызвана отсутствием некоторой зависимости .
Ответ №2:
Если вы хотите использовать первый проект в качестве основного проекта, а второй — в качестве зависимости, вы можете пометить второй проект как «Is Library», в этом случае вы можете импортировать второй проект и использовать классы в основном проекте
Ответ №3:
Исключение NoClassDefFoundError происходит на Foo.class когда загрузчик классов пытается загрузить этот класс (не путать с ClassNotFoundException, что означает, что класс не был найден). Обычно это происходит, когда статический элемент не может быть создан для Foo.class , т.е.
private static Logger logger = Logger.getLogger(Foo.class);
и у вас нет зависимости для создания экземпляра logger.
Запутанная часть — это ошибка NoClassDefFoundError, обвиняющая Foo.class а не класс / зависимость регистратора.