【问题标题】:Tomcat 7 start-up errors from Eclipse - Unable to process JNDI URL来自 Eclipse 的 Tomcat 7 启动错误 - 无法处理 JNDI URL
【发布时间】:2011-07-17 04:45:40
【问题描述】:

如果我在 Eclipse 中创建动态 Web 应用程序并且上下文根与 WAR 名称不匹配,则在启动关联的 Tomcat 7 服务器时会出现错误...

SEVERE: Unable to process JNDI URL [jndi:/localhost/tests/example1/WEB-INF/classes] for annotations
java.io.FileNotFoundException: jndi:/localhost/tests/example1/WEB-INF/classes
    at org.apache.naming.resources.DirContextURLConnection.list(DirContextURLConnection.java:452)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1843)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1770)

等等,

server.xml 文件的相关部分(我认为)是,

<Context docBase="MyExample" path="/tests/example1" reloadable="true" source="org.eclipse.jst.jee.server:MyExample"/>

正如我所料,该应用程序可以通过/tests/example1 访问,但是servlet 注释不起作用,并且错误本身会导致服务器启动时间比应有的时间长。如果上下文根与 WAR 名称匹配,它可以正常工作,但这对我来说将是一个问题。

有什么想法可以解决这个问题吗?

更新:我发现只有在修改后的上下文根包含/ 时才会发生这种情况。如果我将上下文根更改为“tests-example1”,它就可以工作。

【问题讨论】:

    标签: java eclipse servlets annotations tomcat7


    【解决方案1】:

    我在使用 Tomcat 7.0.16 时遇到了同样的问题,但它适用于 Tomcat 7.0.22。

    【讨论】:

      【解决方案2】:

      我们在 Tomcat 6.0.36 中遇到过这样的问题。我们在编辑 Spring 配置时找到了解决方案。我们改变了

      <xconf:properties href="${...}/..." prefix="..." />
      

      <xconf:properties file="${...}/...." prefix="..." />
      

      并在需要时将所有相对路径设置为固定路径。

      也许,您的应用程序中的某些路径已更改,但您忘记更新应用程序配置。 所以,我认为,你应该先检查你的应用程序配置。在 Spring 配置等中搜索“example1”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-24
        • 1970-01-01
        • 1970-01-01
        • 2013-04-23
        • 2011-03-04
        • 2013-02-04
        • 1970-01-01
        相关资源
        最近更新 更多