【问题标题】:Unsatisfied dependencies for type [PartitionManager] with qualifiers [@Default]?带有限定符 [@Default] 的类型 [PartitionManager] 的依赖关系不满足?
【发布时间】:2013-09-23 01:23:01
【问题描述】:

我正在尝试创建一个简单的企业应用程序,该应用程序利用 PicketLink JPA IDM 进行用户管理。我的结构如下:

应用 EAR -- 网络应用 (WAR) -- EJB (JAR)

PicketLink 库在 JBoss EAP 6.1 上作为模块提供。

我正在尝试简单地@Inject PartitionManager,但不断收到错误消息。我尝试将其注入 EJB 和 POJO,两者的结果相同。在我的 WAR 中,我有一个简单的动作类,如下所示:

@Named
public class TestAction {

  @Inject
  private PartitionManager partitionManager = null;

  public void runTest() {
  if (partitionManager == null) {
  System.err.println("NULL");
  } else {
  System.out.println("NOT NULL");
  }
  }
}

但是,当我尝试部署此类时,出现以下错误:

[0m[31m21:15:47,527 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."MyTest.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."MyTest.ear".WeldStartService: Failed to start service
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_07]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_07]
  at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_07]
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [PartitionManager] with qualifiers [@Default] at injection point [[field] @Inject private net.test.web.servlets.TestAction.partitionManager]
  at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:311)
  at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:280)
  at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:143)
  at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:163)
  at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:382)
  at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:367)
  at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379)
  at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64)
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1]
  ... 3 more

我尝试了@InjectPartitionManagerIdentityManager,两者都导致相同的结果。谁能解释为什么会发生这个错误?我还需要做些什么来创建PartitionManagerIdentityManager

【问题讨论】:

  • beans.xml 在正确的位置吗?

标签: java jakarta-ee jpa jboss cdi


【解决方案1】:

这似乎是由 PicketLink 安装程序创建的 PicketLink 模块的问题。有一个小错误导致它在 JBoss EAP 6.1 中没有正确配置。在 EAR 文件中打包 JAR 没有问题。

【讨论】:

    猜你喜欢
    • 2015-02-26
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2015-06-10
    • 2018-12-19
    • 2015-04-05
    相关资源
    最近更新 更多