1
我開發了一個使用Kundera(V3.2)進行Cassandra數據庫連接的JAVA Rest服務(JDK 1.8)。如果我在eclipse中使用Tomcat-Server運行我的應用程序,一切運行良好。如果我想在其他的Tomcat 7部署.war文件服務器不會因爲以下錯誤的開始:在Tomcat 7上使用Kundera JPA的Java Web應用程序
com.impetus.kundera.loader.MetamodelLoaderException: Error while retreiving and storing entity metadata, Caused by : .
尋找一些解決方案後,我發現,這個問題可能是我有我的實體在分離jar(這是war文件中的依賴項),而不是在應用程序本身中。如果這是問題,我必須將<jar-file>
標記添加到我的persistence.xml
(https://github.com/impetus-opensource/Kundera/issues/90)。
我的persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="cassandra_pu" transaction-type="RESOURCE_LOCAL">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<class>com.asdf.booking.beans.kundera.Account</class>
<class>com.asdf.booking.beans.kundera.AccountCard</class>
<class>com.asdf.booking.beans.kundera.AccountType</class>
<class>com.asdf.booking.beans.kundera.Booking</class>
<class>com.asdf.booking.beans.kundera.Circle</class>
<class>com.asdf.booking.beans.kundera.AccountSequence</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="kundera.nodes" value="1.1.1.1" />
<property name="kundera.port" value="9160" />
<property name="kundera.keyspace" value="booking" />
<property name="kundera.dialect" value="cassandra"/>
<property name="sessionless" value="false" />
<property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.thrift.ThriftClientFactory" />
<property name="kundera.annotations.scan.package" value="com.asdf.booking.kundera.beans" />
<property name="kundera.ddl.auto.prepare" value="update" />
</properties>
</persistence-unit>
</persistence>
是單獨的jar文件可能是問題,或者我應該尋找其他解決辦法?