Tomcat 6上的java.lang.ClassNotFoundException:org.apache.naming.java.javaURLContextFactory

时间:2014-07-18 12:36:00

标签: java tomcat tomcat6 classnotfoundexception

为什么我在启动Tomcat 6实例时会得到ClassNotFoundException

Caused by: java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_40]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_40]
    at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_40]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_40]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.7.0_40]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_40]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.7.0_40]
    at java.lang.Class.forName0(Native Method) ~[na:1.7.0_40]
    at java.lang.Class.forName(Class.java:270) ~[na:1.7.0_40]
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:63) ~[na:1.7.0_40]
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671) ~[na:1.7.0_40]
    ... 36 common frames omitted

报告为未找到的类位于catalina.jar(位于Tomcat libs文件夹中)。

我在尝试初始化Hibernate SessionFactory时遇到此错误,同时查找通过JNDI定义的数据源。

在tomcat 7上,应用程序启动正常。

环境:

  • JDK:1.7.40
  • Tomcat:6.0.36

1 个答案:

答案 0 :(得分:0)

切换到1.6 JDK以运行Tomcat 6.至少这解决了我的问题。