对 EclipseLink 的依赖与 org.eclipse.persistence.jpa

Dependency to EclipseLink vs org.eclipse.persistence.jpa

我想在我的 Spring 引导项目中使用 EclipseLink 进行 Spring 引导。我能够配置一切。但是我在实施的时候发现了一件奇怪的事情。我必须在我的 pom.xml 中包含 EclipseLink 作为 JPA 的实现。我的第一次尝试是:

<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>RELEASE</version>

但是,当我每次收到异常时都尝试 运行 我的代码:

无法创建配置,因为找不到 Bean 验证提供程序。将像 Hibernate Validator (RI) 这样的提供程序添加到您的类路径中。

我在他们的网站上搜索 https://wiki.eclipse.org/EclipseLink/Maven 那里写着对 EclipseLink 的依赖应该包含所有其他实现。

我试图将 pom.xml 中的依赖项更改为:

<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>RELEASE</version>

一切都按预期进行。此依赖项包含的不仅仅是 EclipseLink 吗? EclipseLink 依赖项不包含 bean 验证的实现吗?

此依赖项包含的内容是否超过 EclipseLink?

是的,如果您看到 org.eclipse.persistence.jpa 依赖项的 pom.xml,您会发现这些依赖项:

<dependencies>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>javax.persistence</artifactId>
            <version>2.2.0</version>
            <type>jar</type>
            <scope>compile</scope>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.asm</artifactId>
            <version>2.7.0</version>
            <type>jar</type>
            <scope>compile</scope>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.antlr</artifactId>
            <version>2.7.0</version>
            <type>jar</type>
            <scope>compile</scope>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.json</artifactId>
            <version>1.0.4</version>
            <type>jar</type>
            <scope>compile</scope>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
            <version>2.7.0</version>
            <type>jar</type>
            <scope>compile</scope>
            <optional>false</optional>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.core</artifactId>
            <version>2.7.0</version>
            <type>jar</type>
            <scope>compile</scope>
            <optional>false</optional>
        </dependency>
    </dependencies>

EclipseLink 依赖项不包含 bean 验证的实现吗?

你可以看看这个link