Eclipselink (проект Maven) Отсутствует поставщик сохраняемости для EntityManager с именем - PullRequest
0 голосов
/ 06 июля 2019

Я пытаюсь создать проект Jpa с Maven в Eclipse IDE. В качестве поставщика постоянных данных я использую Eclipselink, в качестве базы данных я выбрал MariaDB. Когда я пытаюсь создать EntityManagerFactory, я получаю это сообщение об ошибке:

"javax.persistence.PersistenceException: No Persistence provider for EntityManager named jpa_test"

Это код, который я использую для создания EntityManagerFactory:

 EntityManagerFactory emfactory = Persistence.createEntityManagerFactory( "jpa_test" );

My pom.xml :

<dependencies>
        <!-- https://mvnrepository.com/artifact/javax/javaee-api -->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>8.0.1</version>
            <scope>provided</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.eclipse.persistence/eclipselink -->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>2.7.4</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa</artifactId>
            <version>2.7.4</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>javax.persistence</artifactId>
            <version>2.2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>

и файл persistence.xml в пути src/main/resources/META-INF/:

<persistence version="2.2" 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_2_2.xsd">

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


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

      <class>it.soligen.antares.jpa.entities.Employee</class>

      <properties>
         <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpa_test"/>
         <property name="javax.persistence.jdbc.user" value="root"/>
         <property name="javax.persistence.jdbc.password" value="root01"/>
         <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
         <property name="eclipselink.logging.level" value="FINE"/>
         <property name="eclipselink.ddl-generation" value="create-tables"/>
      </properties>

   </persistence-unit>
</persistence>

Я знаю, что на эту тему есть разные ответы, но ни один из них не помог мне решить эту проблему. большое спасибо

...