1

运行 eclipselink 项目时出现此错误。

[EL 警告]:2008.12.05 11:47:08.056--java.lang.NoClassDefFoundError: org/jboss/resource/adapter/jdbc/ValidConnectionChecker 在 PersistenceLoadProcessor 尝试加载类 com.mysql.jdbc.integration.jboss 时被抛出.MysqlValidConnectionChecker。该类被忽略。

线程“主”java.lang.NoClassDefFoundError 中的异常:org/jboss/resource/adapter/jdbc/ValidConnectionChecker
        在 java.lang.ClassLoader.defineClass1(本机方法)
        在 java.lang.ClassLoader.defineClass(未知来源)
        在 java.security.SecureClassLoader.defineClass(未知来源)
        在 java.net.URLClassLoader.defineClass(未知来源)
        在 java.net.URLClassLoader.access$000(未知来源)
        在 java.net.URLClassLoader$1.run(未知来源)
        在 java.security.AccessController.doPrivileged(本机方法)
        在 java.net.URLClassLoader.findClass(未知来源)
        在 java.lang.ClassLoader.loadClass(未知来源)
        在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源)
        在 java.lang.ClassLoader.loadClass(未知来源)
        在 org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.loadClass(PersistenceUnitProcessor.java:261)
        在 org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.initPersistenceUnitClasses(MetadataProcessor.java:247)
        在 org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processEntityMappings(MetadataProcessor.java:422)
        在 org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:299)
        在 org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:830)
        在 org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.callPredeploy(JPAInitializer.java:101)
        在 org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.initPersistenceUnits(JPAInitializer.java:149)
        在 org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.initialize(JPAInitializer.java:135)
        在 org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:104)
        在 org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:64)
        在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
        在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
        在 Main.main(Main.java:32)
引起:java.lang.ClassNotFoundException:org.jboss.resource.adapter.jdbc.ValidConnectionChecker
        在 java.net.URLClassLoader$1.run(未知来源)
        在 java.security.AccessController.doPrivileged(本机方法)
        在 java.net.URLClassLoader.findClass(未知来源)
        在 java.lang.ClassLoader.loadClass(未知来源)
        在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源)
        在 java.lang.ClassLoader.loadClass(未知来源)
        在 java.lang.ClassLoader.loadClassInternal(未知来源)
        ... 24 更多

有任何想法吗?为什么eclipselink需要来自jboss的东西?我需要什么 jboss jar。我会使用 open jpa,但由于某种原因,在我的应用程序中退出一些持续存在后,它开始给出一堆 stackoverflow 错误。

4

1 回答 1

0

如果您的项目根本不应该使用 JBoss,但仍然需要一些 JBoss 类,这可能意味着:

  • 您的默认服务器是 JBoss(在服务器视图中)
  • 或者你的persistence.xml确实yourProjectEJB/ejbModule/META-INF引用了JBoss
于 2008-12-05T18:01:30.257 回答