【问题标题】:How to Inject @Alternative with CDI from WAR into JAR Module如何将带有 CDI 的 @Alternative 从 WAR 注入 JAR 模块
【发布时间】:2014-08-22 12:54:31
【问题描述】:

TheConverter 想使用由ConfigProducer 生成的注入ConfigConfigProducer 在 WAR 中,而 TheConverterConfig 在 jar 中。 可悲的是,config 似乎没有注入导致由TheConverter 中的NullPointerException 引起的javax.ejb.EJBException: javax.persistence.PersistenceException: Error attempting to apply AttributeConverter

我正在使用 WildFly 8.1.0,它使用 Weld 进行 CDI 注入。

我是在尝试做一些不可能的事情还是这意味着工作?

example.war
  - ConfigProducer.class
      @Produces Config
  - WEB-INF/beans.xml (empty <beans></beans>)
  - META-INF/persistence.xml
  - WEB-INF/lib/entities.jar
     - Config.class
     - TheConverter.class
         implements AttributeConverter
         @Inject Config <-- FAIL
     - TheEntity.class
     - META-INF/beans.xml (empty <beans></beans>)
     - META-INF/orm.xml

【问题讨论】:

    标签: java-ee-6 cdi ejb-3.1 jpa-2.1


    【解决方案1】:

    我不知道你的问题到底是什么。但是绝对可以使用这种生产者和注入点组合。

    如果 bean 发现过程中出现问题,WildFly 也会警告您...

    也许您可以添加更多关于 beans.xml、Producer 类和 persistence.xml 的说明。

    【讨论】:

      【解决方案2】:

      你的 WAR 文件中的 beans.xml 需要进入 WEB-INF,而不是 META-INF

      【讨论】:

      • 糟糕。我在这里打错了,但它在我项目的 WEB-INF 中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多