java несколько проектов ClassNotFoundException - PullRequest
0 голосов
/ 02 марта 2011

У меня есть 2 Java-проекта ProjectA (веб-приложение Java) и ProjectB (содержит другие классы Java) в моей IDE затмения. например,

ProjectA                             ProjectB
|_HelloWorld.java                     |_PrintHelloWorld.java
   |_HelloWorld(                         |_print()
     new PrintHelloWorld().print()
      )

Таким образом, у ProjectA есть класс с методом, который вызывает метод из класса в ProjectB. Чтобы собрать эти проекты, я собрал ProjectB и добавил jar в качестве зависимости от пути сборки ProjectA. Так что я не получаю никаких ошибок компиляции, и проект, кажется, собирается нормально.

Однако, когда я отлаживаю код. Я получаю ClassNotFoundException в строке, где ProjectA вызывает метод в проекте B

Кто-нибудь знает, что я делаю неправильно / пропустил?

Ответы [ 4 ]

3 голосов
/ 08 октября 2013

Используя следующие шаги, добавьте проект в сборку развертывания.

щелкните правой кнопкой мыши проект> Свойства> Сборка развертывания> Добавить> Проект> Выберите проект для добавления в качестве зависимости, а затем нажмите Применить и ОК.

Это сработало для меня после попытки нескольких вариантов.

1 голос
/ 02 марта 2011

Вместо добавления JAR ProjectB в ProjectA, добавьте весь проект как зависимость следующим образом:

  • Открыть ProjectA Properties > Java Build Path
  • Выберите вкладку Projects
  • Добавить проектB

Ссылка на Руководство пользователя Eclipse .

0 голосов
/ 02 марта 2011

Создайте файл war, если в нем есть необходимые классы.

Путь сборки компилятора не совпадает с путем развертывания.Возможно, вам придется явно добавить зависимый файл jar в опцию Deployment Assembly

0 голосов
/ 02 марта 2011
  1. Щелкните правой кнопкой мыши ProjectA.
  2. Перейти к Build Path-->configure build path
  3. Выберите вкладку Проект.
  4. Добавьте в него ProjectB, нажав кнопку Add.
  5. Нажмите OK.

Примечание: - Это будет полезно, когда вы запускаете свое приложение в Eclipse. При сборке убедитесь, что вы собрали ProjectB и добавили его в ProjectA в нужном месте.

Надеюсь, это поможет.

...