"Ошибка 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.