【问题标题】:Dependency to EclipseLink vs org.eclipse.persistence.jpa对 EclipseLink 与 org.eclipse.persistence.jpa 的依赖关系
【发布时间】:2018-05-24 10:53:05
【问题描述】:

我想在我的 Spring Boot 项目中为 Spring Boot 使用 EclipseLink。我能够配置一切。但是当我实施时,我发现了一件奇怪的事情。我必须在我的 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 包含对 javax.validation 的依赖,但它不包含它的实现。对 org.eclipse.persistence.jpa 的依赖不包含 javax.validation。

标签: maven jpa spring-data eclipselink


【解决方案1】:

此依赖项是否包含超过 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 验证的实现吗?

您可以查看此链接Bean validation

【讨论】:

  • 我找不到对 org.eclipse.persistence.moxy.validation 的依赖。它位于哪里?
  • 好的,现在我看到 org.eclipse.persistence.jpa 不包含 javax.validation 但 EclipseLink 包含。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 1970-01-01
相关资源
最近更新 更多