Tomcat 7 в Eclipse Indigo: javax.naming.NameNotFoundException: ресурс / WEB-INF / классы не найдены - PullRequest
4 голосов
/ 13 февраля 2012

Я пытаюсь настроить Tomcat 7 в Eclipse Indigo, я добавил плагин Tomcat из http://www.eclipsetotale.com/tomcatPlugin.html#A3 в папку eclipse \ plugins . Теперь, когда я запускаю Tomcat, я получаю следующее сообщение об ошибке:

    Feb 13, 2012 4:23:35 PM org.apache.catalina.startup.ContextConfig webConfig
SEVERE: Unable to determine URL for WEB-INF/classes
javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found
    at org.apache.naming.resources.BaseDirContext.listBindings(BaseDirContext.java:733)
    at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirContext.java:546)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1095)
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1617)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    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)
Feb 13, 2012 4:23:35 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]

1 Ответ

10 голосов
/ 13 февраля 2012
SEVERE: Unable to determine URL for WEB-INF/classes
javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found

На самом деле это ошибка в Tomcat 7.0.25 и исправлена ​​в Tomcat 7.0.26.См. Также выпуск 52511 .Обратите внимание, что вы можете просто продолжить , используя свое веб-приложение!Этот журнал является чисто неформальным и не блокирует запуск и работу Tomcat.Это вызвано изменением способа сканирования аннотированных классов Tomcat.Эта трассировка стека будет напечатана, когда у вас нет классов в вашем проекте Eclipse, и поэтому /WEB-INF/classes остается пустым.

Обновление до Tomcat 7.0.26 скроет этот журнал.Вы также можете просто полностью его игнорировать и продолжать использовать Tomcat как обычно.

Согласно комментариям,

i Установил Eclipse для Java EE, в том, что на вкладке серверая добавил сервер, когда я запускаю сервер и пытаюсь открыть localhost: 8080 в браузере, он не дает мне страницу приветствия, поэтому я добавил плагин в плагины eclipse, теперь он дает мне страницу приветствия в браузерено, добавив к этому, выдает ошибку выше в консоли.

Что это вместо этого дало?Страница ошибки 404 для конкретного сервера или страница "Тайм-аут соединения" для браузера?Если 404, то сервер работает совершенно нормально , это просто URL, который не указывает что-либо .Обратите внимание, что Eclipse по умолчанию не развертывает собственную домашнюю страницу Tomcat, просто потому, что это вообще не полезно при разработке.Он будет развертывать собственную домашнюю страницу Tomcat, только когда вы настроите Eclipse для установки Tomcat вместо использования его движка:

enter image description here

. Вам нужно, чтобы URL указывал на реальный URL-адресразвернутый веб-проект.По умолчанию используется имя проекта, которое настраивается в свойствах проекта.Если имя проекта, например, «Playground», вам нужно вместо этого открыть http://localhost:8080/Playground.Если вы хотите иметь его в корневом домене, вам нужно изменить Контекстный корень в Настройки веб-проекта на /:

enter image description here

И последнее, но не менее важное, я рекомендую удалить тот плагин Sysdeo, который вы установили без какой-либо необходимой причины.Он ничем не лучше встроенного в Eclipse плагина.

См. Также:

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