我有一個Java程序的問題。當我從Eclipse(運行或調試)運行程序時,它工作正常。但是,當我嘗試運行導出的JAR文件它給了我下面的錯誤:JPA在Eclipse上工作,但不在JAR上
977 INFO [main] openjpa.Runtime - Starting OpenJPA 2.4.2 The persistence provider is attempting to use properties in the persistence.xml file to resolve the data source. A Java Database Connectivity (JDBC) driver or data source class name must be specified in the openjpa.ConnectionDriverName or javax.persistence.jdbc.driver property. The following properties are available in the configuration: "[email protected]".
我檢查了的persistence.xml是在正確的位置中(src/META-INF)的JAR文件。
這是我的persistence.xml:
<persistence-unit name="JPA" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>class_name_here</class>
<class>class_name_here</class>
<properties>
<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported" />
<!-- Production -->
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://server:port/database" />
<property name="javax.persistence.jdbc.user" value="user" />
<property name="javax.persistence.jdbc.password" value="password" />
</properties>
*我從屬性刪除的值,但在原來的文件,他們在那裏,他們是正確的(它運行從Eclipse內部)。
這有幫助嗎? https://stackoverflow.com/questions/19785804/how-export-java-jar-from-eclipse-with-dependencies-on-other-jars – crizzis
感謝您的幫助。我正在使用選項「將所需庫包裝到生成的JAR中」。我嘗試按照鏈接中的說明進行操作,現在它告訴我:在嘗試以下已知的實現之後,沒有可用於「JPA」的持久性提供程序:org.eclipse.persistence.jpa.PersistenceProvider「 – jgrodrigueza
您已將OpenJPA聲明爲持久性提供程序(' org.apache.openjpa.persistence.PersistenceProviderImpl '),但錯誤提到了EclipseLink('發現的實現:org.eclipse.persistence.jpa.PersistenceProvider')所以,這是什麼?類路徑上有哪些JPA實現可用? –
crizzis