Java 是否对具有限定符[@Default]的[PartitionManager]类型的依赖关系不满意?
我正在尝试创建一个简单的企业应用程序,它使用PicketLink JPA IDM进行用户管理。我的结构如下: 应用耳 --Web应用程序(WAR) --EJB(JAR) PicketLink库在JBoss EAP 6.1上作为模块提供 我试图简单地Java 是否对具有限定符[@Default]的[PartitionManager]类型的依赖关系不满意?,java,jakarta-ee,jpa,jboss,cdi,Java,Jakarta Ee,Jpa,Jboss,Cdi,我正在尝试创建一个简单的企业应用程序,它使用PicketLink JPA IDM进行用户管理。我的结构如下: 应用耳 --Web应用程序(WAR) --EJB(JAR) PicketLink库在JBoss EAP 6.1上作为模块提供 我试图简单地@注入分区管理器,但不断收到错误。我试着将它注入EJB和POJO,两者的结果都是一样的。在我的战争中,我有一个简单的动作类,看起来像这样: @Named public class TestAction { @Inject private Pa
@注入分区管理器
,但不断收到错误。我试着将它注入EJB和POJO,两者的结果都是一样的。在我的战争中,我有一个简单的动作类,看起来像这样:
@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
我尝试了@Inject
同时调用分区管理器
和标识管理器
,两者的结果相同。有人能解释为什么会发生这种错误吗?创建分区管理器
或标识管理器
还需要执行其他操作吗?它似乎是由PicketLink安装程序创建的PicketLink模块的一个问题。有一个小错误导致JBoss EAP 6.1中的配置不正确。将jar打包到EAR文件中没有问题。beans.xml是否在正确的位置?