Не удалось развернуть Glassfish — ошибка ссылки: у этого пакета нет bean-компонента с именем [ClientBean]

Я пытаюсь запустить пример с этой страницы: GlassFish-to-GlassFish Remote EJB Invocation

Но я получаю эту ошибку, когда пытаюсь развернуть клиент на Glassfish («asadmin> deploy client-ejb.jar»): «Исключение при развертывании приложения [client-ejb]: ошибка ссылки: этот пакет не имеет bean-компонента [ ClientBean]"

Мне нужна помощь, спасибо.


person Yuri    schedule 09.10.2012    source источник


Ответы (3)


Я столкнулся с аналогичной проблемой при попытке развернуть свое приложение (исключение при развертывании приложения [my-app]: ошибка ссылки: у этого пакета нет bean-компонента с именем [myBeanFacade]). Довольно странно, но все, что нужно было решить, это перейдите к свойствам [my-app] в дереве категорий сборки, выберите «Компилировать» и установите флажок «Компилировать при сохранении». Переразвернул свое приложение и альт!! NB [my-app] содержит 2 jar-файла ejb и веб-приложение, один из ejbs — это библиотека в веб-приложении.

person Ismail    schedule 24.10.2012

Эта проблема возникла из-за того, что парень забыл добавить ссылку ServiceIF.class в client-ejb.jar.

Выполните команду:

jar cvf client-ejb.jar test/ServiceIF.class test/ClientIF.class test/ClientBean.class META-INF/glassfish-ejb-jar.xml

получите новый .jar, и он будет работать.

person Leandro Bortolotto    schedule 26.12.2012

Если вы используете дескриптор развертывания, то имя EJB должно быть одинаковым в обоих файлах дескриптора.

 <ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>Hello</ejb-name>
      <home>com.ejb.test.HelloHome</home>
      <remote>com.ejb.test.HelloObject</remote>
      <ejb-class>com.ejb.test.HelloBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
    </session>
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      <method>
        **<ejb-name>Hello</ejb-name>**
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>



<glassfish-ejb-jar>
    <enterprise-beans>
        <ejb>
            **<ejb-name>Hello</ejb-name>**
            <jndi-name>jndi/Hello</jndi-name>
        </ejb>
    </enterprise-beans>
</glassfish-ejb-jar>
person Ankit Rawat    schedule 13.08.2019