我正在尝试在Eclipse Indigo中配置Tomcat 7,我将http://www.eclipsetotale.com/tomcatPlugin.html#A3中的Tomcat插件添加到 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"]
答案 0 :(得分:10)
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中修复。另见issue 52511。请注意,您可以继续使用您的网络应用程序!此日志完全是非正式的,不会阻止Tomcat启动和运行。这是由于Tomcat扫描带注释的类的方式发生了变化。当Eclipse项目中没有任何类时,将打印此堆栈跟踪,因此/WEB-INF/classes
仍为空。
升级到Tomcat 7.0.26将隐藏此日志。您也可以完全忽略它并像往常一样继续使用Tomcat。
根据评论,
我为Java EE安装了Eclipse,在服务器选项卡中我添加了服务器,当我运行服务器并尝试在浏览器中打开localhost:8080时,它没有给我欢迎页面,因此我在eclipse插件中添加了插件,现在它在浏览器中为我提供了欢迎页面,但是在控制台中添加了上面的错误。
它给了什么呢?特定于服务器的404错误页面或特定于浏览器的“连接超时”页面?如果是404,那么服务器运行完全正常,它只是指向任何的URL。请注意,Eclipse默认情况下不部署Tomcat自己的主页,因为这在开发时完全没用。当您配置Eclipse以接管Tomcat而不是使用其引擎时,它将仅部署Tomcat自己的主页:
您需要让URL指向已部署的Web项目的真实URL。它默认为可在项目属性中配置的项目名称。如果项目名称例如是“Playground”,则需要打开http://localhost:8080/Playground。如果您想在域根目录上使用它,则需要将 Web项目设置中的上下文根更改为/
:
最后但并非最不重要的是,我建议删除您安装的Sysdeo插件,无需任何理由。它没有任何比Eclipse内置插件更好的。