2016-08-01 79 views
1

我嘗試使用Intellij中的Maven創建JPA項目。 我使用Eclipse Link,數據庫是SQlite。Eclipselink Maven否EntityManager的持久性提供者名爲

這是我目前pom.xml文件(只依賴):

<dependency> 
    <groupId>org.xerial</groupId> 
    <artifactId>sqlite-jdbc</artifactId> 
    <version>3.8.11.2</version> 
</dependency> 

<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>org.eclipse.persistence.jpa</artifactId> 
    <version>2.6.3</version> 
</dependency> 

<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>javax.persistence</artifactId> 
    <version>2.1.1</version> 
</dependency> 

<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>eclipselink</artifactId> 
    <version>2.6.3</version> 
</dependency> 

persistence.xml文件看起來像這樣:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1"> 
<persistence-unit name="NewPersistenceUnit"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
    <class>com.raeste.db.BuchungEntity</class> 
    <class>com.raeste.db.KategorieEntity</class> 
    <properties> 
     <property name="eclipselink.jdbc.url" value="jdbc:sqlite:/home/raeste/programmierung/haushaltsbuch.db"/> 
     <property name="eclipselink.jdbc.driver" value="org.sqlite.JDBC"/> 
    </properties> 
</persistence-unit> 
</persistence> 

如果我現在嘗試創建一個EntityMangerFactory我得到下面的異常:

Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named NewPersistenceUnit 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85) 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) 

代碼t Ø創建EntityManagerFactory是:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("NewPersistenceUnit"); 

我知道有這一問題的幾個問題,但他們不幫助。 的persistence.xml文件是以下路徑:

src/main/java/META-INF/ 

回答

2

persistence.xml文件應在src/main/resources/META-INF
src/main/java用於Java源代碼。
src/main/resources用於資源文件。

試試吧。

相關問題