Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WELD-001408:Default下带限定符的类型验证程序的未满足依赖项_Java_Migration_Cdi_Upgrade_Wildfly - Fatal编程技术网

Java WELD-001408:Default下带限定符的类型验证程序的未满足依赖项

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注释。所以,例外是神秘的 有人能给我指出正确

我已经复习了其他相关的问题,但还没有找到我问题的答案

我正在从JBossAS 7.11升级到Wildfly 8.2,遇到了人们称之为“臭名昭著的
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"/>