【发布时间】:2016-01-15 22:45:07
【问题描述】:
我的 cassandra+kundera+eclipse 项目的持久性存在问题。报告的错误是这样的:
log4j:WARN 找不到记录器的附加程序 (com.impetus.kundera.KunderaPersistence)。 log4j:WARN 请初始化 log4j 系统正确。 log4j:WARN 见 http://logging.apache.org/log4j/1.2/faq.html#noconfig 了解更多信息。 线程“主”中的异常 com.impetus.kundera.loader.PersistenceLoaderException: com.impetus.kundera.utils.InvalidConfigurationException:不能 在类路径中找到任何 META-INF/persistence.xml 文件 com.impetus.kundera.configure.PersistenceUnitConfiguration.configure(PersistenceUnitConfiguration.java:100) 在 com.impetus.kundera.configure.Configurator.configure(Configurator.java:65) 在 com.impetus.kundera.KunderaPersistence.initializeKundera(KunderaPersistence.java:109) 在 com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:81) 在 javax.persistence.Persistence.createEntityManagerFactory(未知 来源)在 javax.persistence.Persistence.createEntityManagerFactory(未知 来源)在 controlador.Conetor.main(Conetor.java:17) 引起: com.impetus.kundera.utils.InvalidConfigurationException:不能 在类路径中找到任何 META-INF/persistence.xml 文件 com.impetus.kundera.configure.PersistenceUnitConfiguration.findPersistenceMetadatas(PersistenceUnitConfiguration.java:132) 在 com.impetus.kundera.configure.PersistenceUnitConfiguration.configure(PersistenceUnitConfiguration.java:83) ... 6 更多
而持久化的来源是这样的:
<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="cassandra_pu">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<properties>
<property name="kundera.nodes" value="localhost"/>
<property name="kundera.port" value="9160"/>
<property name="kundera.keyspace" value="KunderaExamples"/>
<property name="kundera.dialect" value="cassandra"/>
<property name="kundera.client.lookup.class"
value="com.impetus.client.cassandra.thrift.ThriftClientFactory" />
</properties>
</persistence-unit>
</persistence>
【问题讨论】:
-
小心将所有代码 sn-ps 缩进四个空格。否则它们将无法正确显示(或根本无法显示)。当您粘贴错误消息和堆栈跟踪等时,您希望在每行之前使用
>格式化它们。 StackOverflow 内置编辑器有用于执行这些操作的按钮;您只需突出显示您的代码 sn-p 或错误消息,然后按下按钮,其余的工作都会为您完成。 -
@DanielFerreira 你的
persistence.xml在哪里?它应该在META-INF文件夹的类路径(最好是src/main/resources)中。例如:src/main/resources/META-INF/persistence.xml -
@DanielFerreira 另外.. 我建议你使用最新版本的昆德拉,即
Kundera 3.1 -
谢谢你,我在这个位置有persistence.xml:target/m2e-wtp/web-resources/META-INF/persistence.xml
-
@karthikmanchala 这是 Maven Webapp 项目
标签: cassandra persistence kundera