从 Eclipse 启动 Apache Tomcat 时出现“错误 java.lang.NoSuchFieldError: IS_DIR”
Posted
技术标签:
【中文标题】从 Eclipse 启动 Apache Tomcat 时出现“错误 java.lang.NoSuchFieldError: IS_DIR”【英文标题】:"Error java.lang.NoSuchFieldError: IS_DIR" while starting Apache Tomcat from Eclipse 【发布时间】:2011-05-12 00:27:00 【问题描述】:尝试从 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。我只是在 Window > Preferences > Tomcat 中输入 tomcat 路径。 Eclipse 是 3.5 版。
似乎是什么问题?
【问题讨论】:
【参考方案1】:您似乎在运行时类路径中有过时版本的 Tomcat 核心库,它们在类加载中具有优先权。清理您的运行时类路径以摆脱它们不属于的 Tomcat 特定库。其中包括/WEB-INF/lib
、JRE/lib
、JRE/lib/ext
。 Tomcat 特定库应保存在其自己的 Tomcat/lib
文件夹中,并且永远不要被复制/移动。
例如Tomcat 4.0确实没有这个字段,但是Tomcat 6.0有。
【讨论】:
以上是关于从 Eclipse 启动 Apache Tomcat 时出现“错误 java.lang.NoSuchFieldError: IS_DIR”的主要内容,如果未能解决你的问题,请参考以下文章