有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

单EAR中的java多EJB

我有一个这样的目录结构

- EAR
  - EJB 1
    - Class X
    - Class X Local Interface
  - EJB 2
    - Class Y
    - Class Y Local Interface

EJB2是在以后添加的(通过右键单击EAR并选择“AddJavaEE模块”)

Class X中,我尝试定义Class Y Local Interface,以便可以实例化一个Context lookup,但编译器给出了错误cannot find symbol class YLocalInterface

private YLocalInterface yBean = lookupYLocalInterface(); //fails

整个项目结构是这样的

- EAR 1
  - EJB 1
    - Class X
    - Class X Local Interface
  - EJB 2
    - Class Y
    - Class Y Local Interface
  - WAR 1

- EAR 2
  - EJB 2
    - Class Y
    - Class Y Local Interface
  - WAR 2

我已经将EJB2添加到EAR1中


共 (1) 个答案

  1. # 1 楼答案

    您需要确保您的EJB项目依赖于它需要接口的另一个EJB项目。因此,例如,如果类X依赖于接口Y,则需要确保EJB1引用了EJB2。这是在NetBeans中项目的库设置中配置的

    如果您发现EJB1调用EJB2,EJB2调用EJB1,那么您需要将本地接口提取到一个单独的jar中,这样您的EJB项目就可以依赖它,而不是依赖于EJB本身