NoClassDefFound в Java / Eclipse: как сделать чистую и простую ссылку на другой проект? - PullRequest
1 голос
/ 02 декабря 2011

Я искал эту проблему все время, и у многих людей такая же проблема. Однако я не могу найти хорошего объяснения или как на самом деле решить эту проблему.

Проблема в том, что тогда я добавляю ссылку на проект в мой проект, он не даст мне никаких ошибок во время компиляции. Однако, когда я использую ссылочный проект в своем основном проекте, я получаю java.lang.NoClassDefFoundError.

Для меня это очень, очень безумно. Если я добавлю ссылку на проект, я ожидаю, что этот проект будет доступен во время выполнения. Это не так, по-видимому.

Я добавляю его ПРАВО-НАЖМИТЕ на Проект -> Свойства -> Проекты ->, а затем добавляю свой проект, который находится в рабочей области.

И нет, я действительно не хочу экспортировать свой ссылочный проект в JAR и импортировать этот файл, поскольку это означает, что мне придется импортировать его каждый раз, когда я изменяю ссылочный проект.

Это должно быть так просто - как в Visual Studio - добавить проект, а затем покончить с ним.

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

Кажется, я нашел проблему.

«MiscLibrary», проект, на который я ссылаюсь из моего MainProject, имеет другой внешний JAR-файл. Если это не было также импортировано в MainProject, я получаю эти странные ошибки.

Очень плохо, что 1) Я могу скомпилировать его без ошибок и предупреждений! 2) Во время выполнения сообщения об ошибках не дают никаких указаний на то, что мне не хватает ссылки на другую библиотеку. Вместо этого он говорит, что не может найти MiscLibrary, хотя на самом деле проблема заключается в отсутствии внешней библиотеки в MiscLibrary ...

0 голосов
/ 02 декабря 2011

Вместо добавления ссылки на проект или, возможно, добавления ссылки на проект, вы также должны связать источники.

  • Щелкните правой кнопкой мыши по текущему проекту
  • Выберите путь сборки java
  • На первой вкладке нажмите кнопку источников ссылок и перейдите к корневому каталогу src файлов вашего другого проекта,
  • Выберите исходный каталог, который находится перед вашими каталогами пакетов
  • Сохраните его, очистите и соберите.

РЕДАКТИРОВАТЬ

Если этого не сделать,

Рядом с вкладкой Источник есть вкладка Проект, попробуйте добавить проект там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...