簡體   English   中英

EclipseLinke:找不到名為META-INF / services / javax.persistence.spi的資源文件:未找到PersistenceProvider

[英]EclipseLinke:No resource files named META-INF/services/javax.persistence.spi:No PersistenceProvider were found

我正在使用EclipseLink,甚至我已經用maven導入了所有必需的jar文件,但仍然出現異常:

線程“主”中的異常javax.persistence.PersistenceException:找不到名為META-INF / services / javax.persistence.spi.PersistenceProvider的資源文件。 請確保持久性提供程序jar文件位於您的類路徑中。

在Maven pom中,我具有依賴項:

<dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
      <version>1.0.2</version>
      <scope>provided</scope>
</dependency>

這是我的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
    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_0.xsd">
    <persistence-unit name="PersistenzJPAProjekt">
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>com.testJPABasis.Person</class>

    </persistence-unit>
</persistence>

這里是日食的籠統路徑: 在此處輸入圖片說明

實際生成異常的類:

public class TestJPA
{
    public static void main(String[] args)
    {
        Person person = new Person();
        person.setPersonID(1);

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistenzJPAProjekt");
        EntityManager em = emf.createEntityManager();

    }
}

persistence.xml直接位於META-INF下。 據我所知,我不需要Glassfish或Tomcat,因為EclipseLink是為獨立應用程序制作的。 如果我錯了,也許這就是原因。 Meta-Inf放置在:

在此處輸入圖片說明

persistence-api就是:API(主要是接口)。 您仍然需要包括實際的持久性提供程序。 看起來您想要EclipseLink。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM