相关疑难解决方法(0)

Maven使用了错误版本的javax.validation

我有一个动态的Web项目,我一直在使用hibernate作为jpa提供程序.直到上周,我可以使用hibernate从我的数据库中插入,更新,查询和删除.最近,我开始进行验证,并引入了许多不同的maven依赖项.在这样做的过程中,我不知何故最终使用了旧的,已弃用的javax.validation jar版本,它抛出了一个没有这样的方法异常.我在下面列出了堆栈跟踪的相关行:

Caused by: java.lang.NoSuchMethodError: javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String;
at org.hibernate.validator.internal.xml.ValidationBootstrapParameters.<init>(ValidationBootstrapParameters.java:63)
Run Code Online (Sandbox Code Playgroud)

但是,在我的pom.xml中,我有以下依赖项(当通过javap和eclipse检查时,它在指定的类中有方法getClockProviderClassName()):

<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.0.Final</version>
    </dependency>   
Run Code Online (Sandbox Code Playgroud)

我将以下排除标记放在我的pom中的多个依赖项中,以尝试确保它不会从其他来源中提取此jar:

            <exclusion>
                <artifactId>validation-api</artifactId>
                <groupId>javax.validation</groupId>
            </exclusion>
Run Code Online (Sandbox Code Playgroud)

我还简化了我的构建路径,因此它有三个元素:一个属性文件夹,只包含我的log4j配置,JRE系统库(版本1.8)和maven依赖项.有没有办法告诉被弃用的javax.validation jar来自哪里?我可以强制程序使用我带入maven的2.0.0版本吗?谢谢您的帮助.

附加信息:
完整堆栈跟踪

persistence.xml源码

工作数据源属性

Java构建路径

发生根异常的行(在我的代码中)

查看包含jar的内部,看它包含的方法

使用javap检查maven(m2)目录中的工件

来自maven的依赖概述

来自pom.xml的依赖关系

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.0.2.RELEASE</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.2.Final</version>
        <exclusions>
            <exclusion>
                <artifactId>jboss-logging</artifactId>
                <groupId>org.jboss.logging</groupId>
            </exclusion>
            <exclusion>
                <artifactId>validation-api</artifactId>
                <groupId>javax.validation</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>6.0.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId> …
Run Code Online (Sandbox Code Playgroud)

eclipse hibernate persistence.xml maven

3
推荐指数
2
解决办法
8952
查看次数

标签 统计

eclipse ×1

hibernate ×1

maven ×1

persistence.xml ×1