我正在尝试将两个独立的战争迁移到一个耳朵里。
运行在WebLogic 12.2.1上,所以Java EE 7(CDI 1.1和EJB 3.1)。
每个WAR都包含相同的JAR库,其中包含许多@Stateless EJB和@Named CDI托管bean:
WAR1
|- WEB-INF/lib/ejb-cdi.jar (type=jar)
|- WEB-INF/lib/**.jar
WAR2
|- WEB-INF/lib/ejb-cdi.jar (type=jar)
|- WEB-INF/lib/**.jar
EAR
|- WAR1.war (skinny, without ejb-cdi.jar)
|- WAR2.war (skinny, without ejb-cdi.jar)
|- ejb-cdi.jar (type=ejb)
|- lib/**.jar
我已经执行了几个必需的步骤:
EJB查找工作,EAR启动。在启动期间,我的所有CDI@injects都失败,但有以下例外:
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied
dependencies for type MyBean with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject private my.package.Foo.myBean
我试过的:
(我希望我不必重新组织JAR,因为我已经简化了情况,并且实际上有超过1个这样的组合JAR。)
要使EJB和CDI正常工作,最好的解决方案是什么?
我终于明白哪里出了问题:
一些EJB和CDI管理的bean位于同一个ejb-cdi.jar jar中。对JAR进行了一些重组,将所有EJB放入一个JAR,并将其作为ejbModule放入/中。此ejbModule不再包含任何CDI托管bean。
CDI管理的beans jar最终是在WAR内部还是在/lib中,这取决于带有skinnyWar设置的maven-war-plugin的决定,但这两种方式都起作用。
我正在尝试创建一个带有Wildfly和数据库连接的EJB Web项目,以持久化我的类“article”。但当我启动我的应用程序时,我得到了错误 包装服务; ArticleDaoImpl
我是CDI的新手。这是我的第一个例子,我正在尝试运行它。在互联网上搜索后,我编写了以下代码:我想要注入的类 servlet 我做错了什么?
堆栈跟踪
我创建了一个Java项目作为其他项目的库,减少了项目之间的代码重复。这个lib项目被导出到jar以包含在Web项目中(WAR,而不是EAR)。 在Web项目中(这些类被移除),所有的类都照常工作,而所有的类都保留在这些项目上──简单和复杂对象(带有生产者和设置的对象)的注入都正常工作。 移除Web项目的这些类并将具有这些相同类的jar添加到Web项目中(在Maven项目中的pom.xml中设置此库
我正在尝试实现一个quarkus-extension用于授权/认证。我使用现有的< code > quar kus-small rye-jwt-abx -扩展作为例子。一切似乎都很好,除了我不能注入< code>Principal: 我得到了 对 java.security.主体和限定符类型未满足的依赖关系 [@Default] 注入
嗨,我定义了以下限定符类型。。 还有两个实现。 我从客户那里注射。。 在运行时,每件事情都可以正常工作。。 但是当我运行单元测试时,问题就来了。。 我得到以下例外情况。。 组织。jboss。焊接例外情况。DeploymentException:WELD-001408:SortAndFilterProvider类型的未满足依赖项,在注入点[BackedAnnotatedField]@Inject@S