因此,“无法初始化类org.apache.derby.jdbc.EmbeddedDriver”错误实际上是其他一些不太明显的类加载问题的主要症状。
我使用Jetty作为Web服务器,使用Spring作为java6下的框架。
我相信存在与MBeanServer类相关的类加载问题。
而且我确实忽略了启动时发生的错误:“由以下原因引起:java.lang.linkageError:违反了加载程序约束:加载程序(org / mortbay
/ jetty / webapp / WebAppClassLoader的实例)先前已启动名称为“ javax”的其他类型的加载/ management /
MBeanServer”(位于java.lang.ClassLoader.defineClass1(本机方法),位于java.lang.ClassLoader.defineClassCond(ClassLoader.java:632),位于java.lang.ClassLoader.defineClass(ClassLoader.java:616)。
security.SecureClassLoader.defineClass(SecureClassLoader.java:141)“
我在WEB-INF / lib目录中搜索该类。它被包含在mx4j:jar中。Mx4j是jetty-
management.jar的依赖项。我实际上并不需要码头管理,因此我从pom文件中删除了该引用。
基本上,包含MBeanServer(来自mx4j)会导致某种类加载问题,其中org.apache.derby.jdbc.EmbeddedDriver无法正确加载。我从Web应用程序中将其删除,该应用程序开始正常运行。



