Java WELD-001408:Default下带限定符的类型验证程序的未满足依赖项
我已经复习了其他相关的问题,但还没有找到我问题的答案 我正在从JBossAS 7.11升级到Wildfly 8.2,遇到了人们称之为“臭名昭著的Java WELD-001408:Default下带限定符的类型验证程序的未满足依赖项,java,migration,cdi,upgrade,wildfly,Java,Migration,Cdi,Upgrade,Wildfly,我已经复习了其他相关的问题,但还没有找到我问题的答案 我正在从JBossAS 7.11升级到Wildfly 8.2,遇到了人们称之为“臭名昭著的WELD-001408”的问题。然而,我的情况似乎有所不同,因为我们没有使用任何@Inject注释,或者任何据我所知会导致验证错误的东西 下面的堆栈跟踪似乎表明异常是由带有限定符@Default的焊接验证器本身引起的。这对任何人都有意义吗 我强调,在我的应用程序中,任何地方都没有@Inject或@Default注释。所以,例外是神秘的 有人能给我指出正确
WELD-001408
”的问题。然而,我的情况似乎有所不同,因为我们没有使用任何@Inject
注释,或者任何据我所知会导致验证错误的东西
下面的堆栈跟踪似乎表明异常是由带有限定符@Default
的焊接验证器本身引起的。这对任何人都有意义吗
我强调,在我的应用程序中,任何地方都没有@Inject
或@Default
注释。所以,例外是神秘的
有人能给我指出正确的方向,让我的应用程序在Wildfly 8.2中启动并运行吗
如果需要任何其他信息,请询问,如果可能,我将提供
谢谢
编辑[2015年5月12日]:
我想知道它是否与hibernate验证器有关
从pom.xml文件:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.3.Final</version>
<scope>runtime</scope>
</dependency>
从JBoss EAP 6.2迁移后,我在Wildfly 9上遇到了完全相同的问题!和变通形式 他帮助了我。 因此,在焊接子系统配置的活动
standalone.xml
文件中:
<subsystem xmlns="urn:jboss:domain:weld:2.0"/>
添加属性require bean descriptor=“true”,它将如下所示:
<subsystem xmlns="urn:jboss:domain:weld:2.0" require-bean-descriptor="true"/>
对不起(我知道您正在使用JBoss或Wildfly),但我只是为使用Liberty或Websphere服务器的用户添加了这个答案,因为相同的消息“WELD-001408:type Validator with qualifiers@Default
”也出现在这些服务器中
无论如何,问题描述可以帮助您解决JBoss中的问题吗
问题描述
如果您的应用程序包含类Validator.class
(包括在内部jar文件中)Liberty可能会感到困惑
在应用程序中的类文件和类之间
liberty内部安装的文件导致
WELD-001408:类型验证程序的未满足依赖项
使用限定符@Default exception
我有你的问题,但在自由版16.0.0.3中,我通过添加
在server.xml文件中
下面是描述问题和解决方法的链接
顺便说一句,Liberty V16.0.0.4(现在的最新版本)中已经修复了此问题。您的rest端点上是否有任何
javax.validation
注释?@JohnAment-没有,rest端点上没有任何验证注释。感谢更新。尝试将hibernate validator标记为已提供。我将hibernate validator的作用域更改为已提供,并得到错误:javax.validation.ValidationException:无法创建配置,因为找不到Bean验证提供程序。在类路径中添加一个类似Hibernate Validator(RI)的提供程序。嗯,您如何获得对Validator的引用?手动构建还是将其作为资源注入?
<subsystem xmlns="urn:jboss:domain:weld:2.0" require-bean-descriptor="true"/>