gpt4 book ai didi

java - 使用 hibernate-validator 时出现 NoClassDefFoundError

转载 作者:行者123 更新时间:2023-12-01 14:50:50 26 4
gpt4 key购买 nike

我有一个 Maven 项目,其中使用 JSR 303(Bean 验证)。作为引用实现,我使用 Hibernate-validator。在项目中我指定了依赖项:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
<scope>provided</scope>
</dependency>

4.1.0 版本一切正常。但是当我将其更改为4.2.0时。我在这一行收到运行时错误:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/persistence/Persistence

......//more stack-trace

java.lang.NoClassDefFoundError: Could not initialize class com.andr.myproject.services.utils.ValidationUtils

问题出在哪里?

UPD:我还使用 Java-ee-5 依赖项,而不是 6。

UPD2:JUnit测试中出现此错误

最佳答案

您的项目中是否存在以下依赖项:

<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>

如果是这样,您应该确保将其从运行时类路径中排除,因为此 JAR 只能用于编译,而不能用于运行时(它的类已被修改,因此它们不包含方法实现)。您可以改用 JBoss 提供的 API JAR:

<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>1.0.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>

添加 Hibernate Core 可能会有所帮助,因为它将 JPA API 引入单独的 JAR 中。您可以找到更多信息here .

关于java - 使用 hibernate-validator 时出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14875540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com