【问题标题】:class in lib/jar access EJB in an earlib/jar 中的类在耳朵中访问 EJB
【发布时间】:2017-06-23 21:09:06
【问题描述】:

我的应用结构是

MyEAR.ear
    |-- MyWAR.war
    |-- MyEjb.jar
    |-- lib
         |- data.jar
         |- vo.jar
         |- util.jar
         |- jpa.jar     

myWAR.war 有一个 servlet 类,它调用具有 ejb 调用的 DataHelp.class。

//  MyWAR.war
Class servlet{
     DataHelper helper = new DataHelper().
     helper.getData();
}

//  lib/data.jar
Class DataHelper{
   @EJB
   MyEjb ejbBean;

    public Object  getData(){
        ejbBean.getData();
    }
}

// MyEJB.jar
@Stateless
@LocalBean
public class MyEjb {
    @PersistenceContext(unitName = "db.jpa.jar")
    EntityManager em;

    public Object getData(){
           // JPA
     }
}

MyEjb ejbBean;在 DataHelper 中为空。我尝试将 jar 移到 ejb.jar 旁边。仍然得到同样的错误。

你能帮我配置一下包装吗?我还需要在另一个项目中使用 data.jar,所以它必须是一个独立的 jar。

谢谢。

【问题讨论】:

标签: jar ejb inject lib


【解决方案1】:

为了在 DataHelper 类中正确工作 ejb 注入,data.jar 应该作为 ejb jar 模块在 MyEAR.ear 中,而不是在 lib 中。如果您想在其他项目中使用它,也可以将其作为 ejb jar 放入耳中。然后将以下内容添加到application.xml中

<module>
    <ejb>data.jar</ejb>
</module>

【讨论】:

  • data.jar 被移动到myEAR.ear 内部作为一个ejb jar 模块......它到底在哪里结束?除了MyEjb.jar?
猜你喜欢
  • 2015-04-20
  • 2016-11-21
  • 1970-01-01
  • 2019-06-27
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
相关资源
最近更新 更多