Ich versuche Oracle-Datenbank in meiner Java-Webanwendung zu verwenden, aber ich bekomme den Fehler, wenn ich meinen Code als Java-Anwendung ausführen :Ausnahme im Thread "Haupt" javax.persistence.PersistenceException: Kein Persistence Provider für EntityManager namens databaseTest
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named databaseTest
hier ist mein Code nur ein einfacher Code ein Unternehmen Manager zu erstellen:
package com.sabir.test;
import javax.persistence.Persistence;
public class DatabaseService {
public static void main(String[] args) {
System.out.println("test");
Persistence.createEntityManagerFactory("databaseTest");
}
}
und hier ist meine persistence.xml Datei
<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 persistence_1_0.xsd" version="1.0">
<persistence-unit name= "databaseTest" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="javax.persistence.jdbc.user" value="HR"/>
<property name="javax.persistence.jdbc.password" value="password"/>
</properties>
</persistence-unit>
</persistence>
und hier ist dann erforderlich, wenn meine pom.xml-Datei:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sabir.test</groupId>
<artifactId>databaseTest</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>databaseTest Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.0-RC1</version>
<scope>compile</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
<repository>
<id>oss.sonatype.org</id>
<name>OSS Sonatype Staging</name>
<url>https://oss.sonatype.org/content/groups/staging</url>
</repository>
<repository>
<id>EclipseLink</id>
<url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
</repository>
</repositories>
<build>
<finalName>databaseTest</finalName>
</build>
</project>
Ich weiß nicht, warum ich die Störung erhalte! hier ist auch Struktur meine Dateien:
ich die Dateistruktur bin Verdacht besteht, aber nachdem ich viele Websites überprüft, ich glaube, dass dies die richtige ist. Ich habe auch den eclipslink in maven importiert, also glaube ich, dass das alles ist, was ich brauche, ich habe auch das Repository oder Orakel hinzugefügt.
meine Datenbank ist auch und läuft und ich kann aus dem Oracle-Entwickler-Tool
'META-INF/persitence.xml' geht in' src/main/resources' (wie es eine Ressource für den Classpath ist, nicht eine Quelldatei). 'mvn package' wird das in' WEB-INF' einfügen. –
das Problem weiterhin besteht nach wie vor! Wenn ich den DatabaseService.java als eine Anwendung ausführe, passiert der gleiche Fehler! irgendwelche Vorschläge ? und auch wenn ich es als Server laufen lasse, erhalte ich viele Fehler wie 19. Juni 2017 18.51.49 org.apache.catalina.loader.WebappClassLoaderBase findResourceInternal SCHWER: Ressourcenlesefehler: kann nicht geladen werden org/eclipse /persistence/internal/databaseaccess/ConnectionCustomizer.class. –