"Ошибка java.lang.NoSuchFieldError: IS_DIR" при запуске Apache Tomcat из Eclipse
При попытке запустить Apache Tomcat из eclipse я обнаружил следующую ошибку:
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
У вас, похоже, устаревшие версии основных библиотек Tomcat в пути к среде выполнения, которые получили приоритет при загрузке классов. Очистите свой путь к классам времени выполнения, чтобы избавиться от конкретных библиотек Tomcat, где они не принадлежат. Это охватывает, среди прочих, /WEB-INF/lib
, JRE/lib
, JRE/lib/ext
. Библиотеки, специфичные для Tomcat, должны храниться в своей собственной папке Tomcat/lib
и никогда не копироваться/перемещаться.
Tomcat 4.0, например, действительно не имеет этого поля, но Tomcat 6.0.