从Eclipse启动Apache Tomcat时出现“Error java.lang.NoSuchFieldError:IS_DIR”

时间:2010-11-18 12:40:09

标签: java eclipse tomcat

在尝试从eclipse启动Apache Tomcat时,遇到以下错误:

18 Nov, 2010 5:23:03 PM org.apache.catalina.startup.Bootstrap initClassLoaders
SEVERE: Class loader creation threw exception
java.lang.NoSuchFieldError: IS_DIR
    at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:166)
    at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:91)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:206)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:390)

我使用tomcat 6.0.18,也尝试使用6.0.29。我只是在窗口中输入tomcat路径>偏好> Tomcat的。 Eclipse是3.5版。

似乎有什么问题?

1 个答案:

答案 0 :(得分:4)

您似乎在运行时类路径中有过时的Tomcat核心库版本,它们在类加载中具有优先权。清理运行时类路径以删除不属于它们的Tomcat特定库。其中包括/WEB-INF/libJRE/libJRE/lib/ext。 Tomcat特定的库应该保存在自己的Tomcat/lib文件夹中,永远不会被复制/移动。

例如,

Tomcat 4.0确实没有此字段,但Tomcat 6.0会这样做。