Предупреждение Eclipse: XXXXXXXXXXX.jar не будет экспортирован или опубликован. Runtime ClassNotFoundExceptions может привести

Я продолжаю получать следующую ошибку после того, как я поместил необходимые файлы в путь сборки на 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 project - jar не будет экспортироваться или публиковаться. Время выполнения ClassNotFoundExceptions может привести

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

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

4 ответа

Решение

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

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

Это работает таким образом.

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

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

это просто не займет.

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

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

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

  1. "Перетащите" файлы, которые я хочу в моем classpath / зависимости, в мой WEB-INF/lib файл;
  2. Щелкните правой кнопкой мыши по вашему проекту в Package Explorer вкладка и build path --> configure build path -->external jars, добавив нужные файлы;
  3. Перезапущенное Затмение;
  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. (как на рисунке ниже) Быстрое исправление для предупреждения

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

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

В Eclipse 2022-03 вы можете щелкнуть правой кнопкой мыши предупреждение (в представлении «Проблемы»), выбрать быстрое исправление, которое даст вам возможность опубликовать/экспортировать зависимый проект в /WEB-INF/lib. Но меня бьет то, что из проекта Build Path мы не можем сделать этот шаг вручную.

Другие вопросы по тегам