Предупреждение Eclipse: XXXXXXXXXXX.jar не будет экспортирован или опубликован. Runtime ClassNotFoundExceptions может привести - PullRequest
32 голосов
/ 16 января 2012

Я продолжаю получать следующую ошибку после помещения необходимых файлов в путь сборки на Eclipse. Я работаю над приложением Spring World MVC Hello World. Я использую Eclipse Helios для разработчиков Java EE:

Jan 16, 2012 1:25:42 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /SpringMVCTutorial threw load() exception
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1062)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
    at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Я попытался щелкнуть правой кнопкой мыши по серверу и нажать «очистить». Я щелкаю правой кнопкой мыши по приложению, нажимаю «Build Path», «Configure Build Path» и помещаю правильные файлы .jar в библиотеку; однако, это все еще не признает их как зависимости. Чего мне не хватает?

Я попробовал совет, представленный в: eclipse helios: проект tomcat - jar не будет экспортирован или опубликован. Время выполнения ClassNotFoundExceptions может привести к

  1. Щелкните правой кнопкой мыши по вашему веб-проекту
  2. Нажмите Свойства
  3. Выбор зависимостей модуля Java EE
  4. Перейдите на вкладку веб-библиотек.
  5. Добавление внешних банок (если баночка находится за пределами вашего проекта). Запись будет добавлена ​​в Jar / Module, убедитесь, что вы установили флажок (отмечен).

Проблема в том, что когда я выбираю «Свойства клика», у меня нет возможности щелкнуть зависимости модуля Java EE, поскольку она не отображается. Я скачал дополнительные инструменты Java EE и до сих пор не могу их найти.

Ответы [ 3 ]

33 голосов
/ 22 января 2012

Хорошо. Так что я понял это. , ,

Чтобы заставить его работать правильно, я должен «перетащить» и перетащить файлы, которые мне нужны в моем classpath / dependencies, в мой WEB-INF/lib файл.

Это работает так.

Почему-то, когда я пытаюсь сделать это правильно

путь сборки -> настройка пути сборки -> внешние jar

это просто не нужно.

Хитрость заключается в том, что мне нужно поместить файлы в папку «Библиотеки веб-приложений», и единственный способ сделать это (что я вижу :) - это «щелкнуть и вставить» в мой файл WEB-INF/lib.

Таким образом, он автоматически отображается в моих библиотеках веб-приложений.

21 голосов
/ 17 декабря 2015

При добавлении новых jar-файлов я получаю два сообщения на Eclipse Problems Tab: одна ошибка и одно предупреждение.Я решил эту проблему только при объединении всех предыдущих решений с дополнительным шагом.Вот как я решил это:

  1. «Перетащите» файлы, которые я хочу в моем classpath/dependencies, в мой WEB-INF/lib файл;
  2. Щелкните правой кнопкой мыши по вашему проекту вPackage Explorer вкладка и build path --> configure build path --> external jars, добавление нужных файлов;
  3. Перезапуск Eclipse;
  4. Выбор Project --> Clean….Моя система настроена на автоматическую сборку, поэтому после этого шага сообщение об ошибке исчезло, но предупреждение XXXXXXXXXXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result осталось;
  5. Щелкните правой кнопкой мыши предупреждающее сообщение -> Quick Fix;
  6. Выберите опцию Mark the associated raw classpath entry as a publish/export dependency. (как показано на рисунке ниже) Quick fix for warning message
2 голосов
/ 17 января 2012

щелкните правой кнопкой мыши ваш проект на вкладке project explorer и build path --> configure build path, -->external jars

добавьте все банки, которые вы хотите.

...