如何使Maven / Spring忽略容器库?

问题描述

因此,我有一个可以在本地运行的应用程序,它在WebLogic测试服务器上具有以下功能

***************************
APPLICATION Failed TO START
***************************

Description:

An attempt was made to call the method javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String; but it does not exist. Its class,javax.validation.BootstrapConfiguration,is available from the following locations:

    zip:/export/bea/Wg/servers/ground_s1/tmp/_WL_user/ground/4f/war/WEB-INF/lib/validation-api-2.0.1.Final.jar!/javax/validation/BootstrapConfiguration.class
    jar:file:/opt/bea/12.2.1.3.0/oracle_common/modules/javax.validation.jar!/javax/validation/BootstrapConfiguration.class

It was loaded from the following location:

    file:/opt/bea/12.2.1.3.0/oracle_common/modules/javax.validation.jar

我在Eclipse中查看了我的依赖项,显然 validation-api 已被 spring-boot-starter-web 引入,但也可以在WebLogic服务器和应用程序混淆了。

所以我告诉它使用WebLogic服务器的validation-api副本:

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <scope>provided</scope>
</dependency>

现在它炸弹并出现此错误

Error creating bean with name 'requestMappingHandlerAdapter' . . . (truncated for brevity) . . . nested exception is java.lang.NoClassDefFoundError: javax/validation/valueextraction/ValueExtractorDeclarationException

因此,看来服务器版本的Verification-api没有ValueExtractorDeclarationException类。

有没有办法让它忽略服务器的版本验证API,而是使用与我的应用程序的WAR文件捆绑在一起的验证API?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...