Зависимость сервлета Glassfish и EJB-бобов

Я использую Glassfish 3.1.1 и пытаюсь заставить развертывание EJB2.x работать до перехода на EJB3. Я сделал небольшой пример, который структурирован так:

  • EAR
    • a.jar
      • ejb-jar.xml описать компонент A, содержащий удаленный и локальный интерфейсы.
      • Бин также содержит вспомогательный класс для узкого () объекта домашнего интерфейса.
    • b.jar
      • ejb-jar.xml описать bean-компонент B, содержащий удаленный и локальный интерфейсы.
      • Бин также содержит вспомогательный класс для узкого () объекта домашнего интерфейса.
    • C.war
      • web.xml содержит сервлет и <ejb-local-ref> теги, указывающие на локальный интерфейс бинов A и B
      • war содержит код для поиска локального интерфейса и его сужения с использованием вспомогательного класса компонента.

Это все разворачивается и работает нормально. Но когда я хочу вывести поисковый код из войны и переместить его в банку, которая доступна под lib/helper.jar Я получаю ClassNotFoundException на узком помощнике.

Caused by: java.lang.ClassNotFoundException: com.abeloos.glassfish.helper.narrow.calculator.EJBNarrow at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:808) at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:696) at java.lang.ClassLoader.loadClass(ClassLoader.java:303) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)

Это почти как если бы вы не могли получить доступ к коду бина, если вы пришли из lib-path.

0 ответов

Другие вопросы по тегам