No Persistence provider

@x.l

Bekanntes Mitglied
Hallo zusammen,

ich versuche gerade ein simples JPA-Beispiel zum laufen zu bekommen und kann mir nicht recht erklären woran es hängt.

Beim Start erhalte ich:
Code:
javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa_example

Situation:
- ein einfaches Eclipse Plugin-Project
- als DB soll MySQL herhalten

Projekt-Struktur:
Code:
- src
    - ...
- lib
    - eclipselink.jar
    - javax.persistence.jar
    - mysql-connector-java.jar
- META-INF
    - MANIFEST.MF
    - persistence.xml

Die jars sind dem Classpath hinzugefügt.

Hier mal die persistence.xml:
Code:
<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_1_0.xsd"
	version="1.0">

	<persistence-unit name="jpa_example" transaction-type="RESOURCE_LOCAL">

		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

		<class>model.Artikel</class>

		<properties>
			<property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/jpa_example" />
			<property name="eclipselink.jdbc.user" value="root" />
			<property name="eclipselink.jdbc.password" value="root" />

			<property name="eclipselink.ddl-generation" value="create-tables" />
			<property name="eclipselink.ddl-generation.output-mode"
				value="both" />
		</properties>

	</persistence-unit>

</persistence>

Zugriff auf den EntityManger mach ich so:
[JAVA=20]
EntityManagerFactory emf;

{
emf = Persistence.createEntityManagerFactory("jpa_example");
}

private EntityManager startTransaction() {
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
return em;
}
[/code]

In Zeile 23 kommt dann die besagt Exception.

Habt ihr eine Idee wo ich noch dran drehen könnte?

Folgende Tutorials habe ich genutzt:
Java Persistence API (JPA) with EclipseLink - Tutorial
EclipseLink/Examples/JPA/RCP - Eclipsepedia
 
Zuletzt bearbeitet:

musiKk

Top Contributor
Also in Eclipse ist das Root des Projektverzeichnisses nicht im Classpath. Wenn Du das META-INF-Verzeichnis ins src-Verzeichnis verschiebst, sollte es gehen (das src-Verzeichnis ist streng genommen auch nicht im CP, aber beim Build wird fast alles, was kein Java ist, von src 1:1 nach bin verschoben und das ist natürlich im CP).
 

@x.l

Bekanntes Mitglied
Is' ja irre, das hat wahrlich geholfen. Aber ich hatte doch den META-INF auch in der build.properties mit angegeben *grübel*

Naja, hauptsache es geht. Vielen Dank!
 

Ähnliche Java Themen


Oben