Kundera(JPA) - 在类路径中找不到任何META-INF / persistence.xml文件

时间:2013-06-13 17:59:39

标签: java jpa jboss cassandra kundera

我正在尝试使用JBoss EAP 6.1上的Kundera 2.5.1(基本上与JBoss AS 7.1相同)。但是,当我部署我的应用程序时,我看到以下异常:

[0m[31m12:44:24,119 ERROR org.jboss.msc.service.fail MSC000001: Failed to start service jboss.persistenceunit."KunderaTests-ear.ear/KunderaTests-ejb.jar#KunderaTests": org.jboss.msc.service.StartException in service jboss.persistenceunit."KunderaTests-ear.ear/KunderaTests-ejb.jar#KunderaTests": com.impetus.kundera.loader.PersistenceLoaderException: com.impetus.kundera.utils.InvalidConfigurationException: Could not find any META-INF/persistence.xml file in the classpath
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:103) [jboss-as-jpa-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_07]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_07]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.0.Final-redhat-1.jar:2.1.0.Final-redhat-1]
Caused by: com.impetus.kundera.loader.PersistenceLoaderException: com.impetus.kundera.utils.InvalidConfigurationException: Could not find any META-INF/persistence.xml file in the classpath
at com.impetus.kundera.configure.PersistenceUnitConfiguration.configure(PersistenceUnitConfiguration.java:103)
at com.impetus.kundera.configure.Configurator.configure(Configurator.java:65)
at com.impetus.kundera.KunderaPersistence.initializeKundera(KunderaPersistence.java:104)
at com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:77)
at com.impetus.kundera.KunderaPersistence.createContainerEntityManagerFactory(KunderaPersistence.java:65)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:200) [jboss-as-jpa-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$600(PersistenceUnitServiceImpl.java:57) [jboss-as-jpa-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:99) [jboss-as-jpa-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
... 4 more
Caused by: com.impetus.kundera.utils.InvalidConfigurationException: Could not find any META-INF/persistence.xml file in the classpath
at com.impetus.kundera.configure.PersistenceUnitConfiguration.findPersistenceMetadatas(PersistenceUnitConfiguration.java:131)
at com.impetus.kundera.configure.PersistenceUnitConfiguration.configure(PersistenceUnitConfiguration.java:86)
... 11 more

昆德拉JAR(核心和卡桑德拉)部署在我的EAR中。有一个Web应用程序项目,以及一个容纳实体的独立EJB项目。 persistence.xml文件位于src / META-INF路径下的EJB项目中,但我仍然遇到此异常。我对其他JPA提供程序没有任何问题,例如Hibernate。

我的persistence.xml文件如下所示:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <persistence-unit name="KunderaTests">
        <provider>com.impetus.kundera.KunderaPersistence</provider>
        <properties>
            <property name="kundera.nodes" value="localhost" />
            <property name="kundera.port" value="9160" />
            <property name="kundera.keyspace" value="dev" />
            <property name="kundera.dialect" value="cassandra" />
            <property name="kundera.client.lookup.class"
                value="com.impetus.client.cassandra.pelops.PelopsClientFactory" />
        </properties>
    </persistence-unit>
</persistence>

我错过了什么吗?我的配置看起来不错吗?或者,这是在JBoss EAP 6.1上部署Kundera的问题吗?

2 个答案:

答案 0 :(得分:0)

看一看 https://groups.google.com/forum/#!topic/kundera-discuss/x0AqH_Te6eQ

看看它是否有帮助。

-Vivek

答案 1 :(得分:0)

通过升级到最新的主干来解决。