Ошибка развертывания Glassfish - "Ошибка ссылки: у этого пакета нет бина с именем [ClientBean]"
Я пытаюсь запустить пример с этой страницы: Удаленный вызов EJB GlassFish-to-GlassFish
Но я получаю эту ошибку, когда пытаюсь развернуть клиент на glassfish ("asadmin> deploy client-ejb.jar"): "Исключительная ситуация при развертывании приложения [client-ejb]: Ссылочная ошибка: у этого пакета нет бина имени [ClientBean]"
Мне нужна помощь, спасибо.
2 ответа
Я столкнулся с подобной проблемой при попытке развернуть мое приложение (Исключение при развертывании приложения [my-app]: ошибка ссылки: у этого пакета нет бина с именем [myBeanFacade]) . Довольно странно, но все, что было необходимо для решения этой проблемы, было перейдите в свойства [my-app] под деревом категорий сборки, выберите compile и отметьте опцию compile on save. Повторно развернуло мое приложение и альт!! NB [my-app] содержит 2 jar-файла ejb и веб-приложение, один из ejbs - это библиотека в веб-приложении.
Эта проблема возникла, потому что парень забыл добавить 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, и он будет работать.
Если вы используете дескриптор развертывания, тогда имя 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>