没有发布的WTP部署失败

时间:2011-12-30 00:41:37

标签: eclipse tomcat eclipse-wtp

我目前正在使用Tomcat 7.0.21,JDK1.6.29和WTP 3.3.1(在Eclipse Indigo上运行。)我不确定我正在运行哪个版本的M2E。当我执行mvn安装并在Eclipse之外运行Tomcat,或通过WTP部署到服务器并且未选中“未发布服务模块”时,我的项目构建和部署正常。

但是,当我通过WTP启动服务器并选中no-publish框时,Tomcat将无法成功启动,但失败的是:

Dec 29, 2011 4:09:39 PM org.apache.catalina.startup.ContextConfig processAnnotationsJndi
SEVERE: Unable to process JNDI URL [jndi:/localhost/plutom-ws/WEB-INF/classes] for annotations
java.io.FileNotFoundException: jndi:/localhost/plutom-ws/WEB-INF/classes
    at 
org.apache.naming.resources.DirContextURLConnection.list(DirContextURLConnection.java:463)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1901)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJndi(ContextConfig.java:1905)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1828)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1295)

如果我手动创建classes目录,那么就会抱怨classes / com似乎某个类加载器和文件路径之间存在冲突?

1 个答案:

答案 0 :(得分:3)

遗憾的是,这是Eclipse WTP和Tomcat 7之间的已知错误。以下是相关的Bugzilla条目:

Tomcat 7 + Serve Modules without publishing fails to find classpath resources

Really fix "Serve modules without publishing" with tomcat 7 by using the new VirtualDirContext of tomcat >=7.0.24

显然修复已知,它尚未应用。我想这不是一个常见的用例,因为否则会有更多人要求修复它。它太糟糕了,它是一个非常有用的功能。