Использование проекта Java в другом проекте Java

#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 а не класс / зависимость регистратора.