gpt4 book ai didi

java - 焊接-001408 : Unsatisfied dependencies for type Validator with qualifiers @Default

转载 作者:行者123 更新时间:2023-12-02 04:41:05 26 4
gpt4 key购买 nike

我已经查看了 SO 上的其他相关问题,但没有找到我的问题的答案。

我正在从 JBoss AS 7.11 升级到 Wildfly 8.2,并且遇到了人们所说的“臭名昭著的 WELD-001408”问题。然而,我的情况似乎有所不同,因为我们没有使用任何 @Inject 注释,或者据我所知任何会导致验证错误的东西。

下面的堆栈跟踪似乎表明异常是由焊接 validator 本身与限定符@Default引起的。这对任何人都有意义吗?

我强调,我的应用程序中的任何地方都没有 @Inject@Default 注释。所以,这个异常是神秘的。

任何人都可以为我指明正确的方向,让我的应用程序在 Wildfly 8.2 中启动并运行吗?

如果需要任何其他信息,请询问,如果可能,我会提供。

谢谢!!!

编辑 [2015 年 5 月 12 日]:

我想知道这是否与 hibernate validator 有关?

来自 pom.xml:

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.3.Final</version>
<scope>runtime</scope>
</dependency>

我是否正确使用了 hibernate validator ?是否需要提供一些配置?是否可以使用其他 validator 来代替?

<小时/>

wildfly 启动时的堆栈跟踪:

11:21:57,196 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."search.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."search.war".WeldStartService: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]

Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408:

** Unsatisfied dependencies for type Validator with qualifiers @Default
at injection point [UnbackedAnnotatedField] @Inject private **
org.hibernate.validator.internal.cdi.interceptor.ValidationInterceptor.validator
at org.hibernate.validator.internal.cdi.interceptor.ValidationInterceptor.validator(ValidationInterceptor.java:0)
WELD-001475: The following beans match by type, but none have matching qualifiers:
- ValidatorBean [id=org.hibernate.validator.internal.cdi.ValidatorBean_hv]

at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:372)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:293)
at org.jboss.weld.bootstrap.Validator.validateInterceptor(Validator.java:569)
at org.jboss.weld.bootstrap.ConcurrentValidator$2.doWork(ConcurrentValidator.java:85)
at org.jboss.weld.bootstrap.ConcurrentValidator$2.doWork(ConcurrentValidator.java:83)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_21]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_21]
... 3 more

最佳答案

抱歉(我知道您正在使用 JBoss 或 Wildfly),但我只是为使用 Liberty 或 Websphere 服务器的用户添加此答案,因为相同的消息“WELD-001408: Unsatisfied dependencies for type Validator with qualifiers @Default”也出现在这些服务器中。

无论如何,问题描述可以帮助您解决 JBoss 中的问题

问题描述

If your application includes the class Validator.class (including in internal jar files) Liberty may get confused between the the classfile in your application and the class file installed inside liberty itself leading to a WELD-001408: Unsatisfied dependencies for type Validator with qualifiers @Default exception.

我遇到了你的问题,但在Liberty V16.0.0.3中,我通过添加修复了它

<cdi12 enableImplicitBeanArchives="false"/>

server.xml文件中

这里是描述问题及其修复的链接 http://www-01.ibm.com/support/docview.wss?uid=swg1PI71667

顺便说一句,这个问题已在 Liberty V16.0.0.4(现在是最后一个版本)中修复

关于java - 焊接-001408 : Unsatisfied dependencies for type Validator with qualifiers @Default,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30172992/

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