如果我在Eclipse中创建动态Web应用程序并且上下文根与WAR名称不匹配,则在启动关联的Tomcat 7服务器时出现错误...来自Eclipse的Tomcat 7启动错误 - 无法处理JNDI URL
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"/>
的应用程序是通过访问0,正如我所料,但servlet注释不起作用,错误本身导致服务器启动花费比它应该更长的时间。如果上下文根与WAR名称相匹配,它可以正常工作,但这对我前进来说会是一个问题。
任何想法如何解决这个问题?
更新:我发现这只会发生,如果修改后的上下文根包含/
。如果我将上下文根改为“tests-example1”,它就可以工作。