2017-02-06 3 views
2

структуры Моего приложениякласса в EJB доступа Библиотеки/банке в ухе

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

myWAR.war имеет класс сервлета, который вызывает DataHelp.class, который имеет вызов EJB.

// 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 имеет значение null. Я попытался переместить кувшин рядом с ejb.jar. По-прежнему получается такая же ошибка.

Не могли бы вы помочь мне настроить упаковку. Мне нужен data.jar, который будет использоваться и в другом проекте, поэтому он должен быть независимым банком.

Спасибо.

+0

Возможный дубликат [Мое ухо не в состоянии найти классы модуля EJB] (http://stackoverflow.com/questions/41306341/my-ear-is-not -able-to-find-ejb-modules-classes) –

ответ

1

Чтобы правильно работать с инъекцией ejb внутри класса DataHelper, data.jar должен находиться внутри MyEAR.ear как модуль ejb jar, а не в lib. Если вы хотите использовать его в других проектах, сделайте подобное, поставив его как банку ejb внутри уха. Затем добавьте следующую строку в application.xml

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

Когда 'data.jar' перемещается в' myEAR.ear' как модуль jjb jar ... где это точно? Наряду с «MyEjb.jar»? – Thufir

Смежные вопросы