我知道這已經被問了很多關於SO,但他們沒有提供給我的解決問題的辦法:爲EntityManager的不持久性提供者名爲***
我使用的是JPA的一個項目,從別人克隆與其他完全相同的設置(相同的操作系統,相同的IDE,相同的數據庫名稱,也爲毫安)
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named persistentie
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at DatabaseTest.main(DatabaseTest.java:29)
我的persistence.xml(無論是在文件夾/ META-INF /和/ WEB-INF /班/ META -INF /,正如關於SO的多個其他問題所建議的):
<?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="persistentie" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>Domein.Student</class>
<class>Domein.Onderzoeksdomein</class>
<class>Domein.Promotor</class>
<class>Domein.Gebruiker</class>
<class>Domein.Campus</class>
<class>Domein.Presentatie</class>
<class>Domein.Dag</class>
<class>Domein.Lokaal</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/Project2-DB?zeroDateTimeBehavior=convertToNull"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
</properties>
</persistence-unit>
</persistence>
這條線是它得到了異常:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistentie");
有此之前沒有代碼,它的主要的第一線。
我使用MAMP上,NetBeans 7.4 Persistence (JPA 2.1)
和OS X.
我在這裏完全......至於我沒有改變我的朋友的代碼東西丟了,這應該工作的權利?
我也檢查了javax.persistence.Persistence.createEntityManagerFactory(字符串名稱)的來源,我發現resolver.getPersistenceProviders()返回一個空列表。我沒有JPA的經驗知道這意味着什麼。
你有這一切需要的jar文件?看起來你的類路徑中沒有EM; – solvator
你可以添加這個答案嗎?這工作。也許給未來的訪客更多的信息? – vrwim
[未命名的EntityManager的持久性提供程序]的可能重複(http://stackoverflow.com/questions/1158159/no-persistence-provider-for-entitymanager-named) – Anwar