我正在尝试从此页面运行示例:GlassFish-to-GlassFish Remote EJB Invocation
但是当我尝试在 glassfish 上部署客户端时出现此错误(“asadmin> deploy client-ejb.jar”):“部署应用程序时出现异常 [client-ejb]:引用错误:此捆绑包没有名称 [客户端豆]"
我需要帮助,谢谢。
我正在尝试从此页面运行示例:GlassFish-to-GlassFish Remote EJB Invocation
但是当我尝试在 glassfish 上部署客户端时出现此错误(“asadmin> deploy client-ejb.jar”):“部署应用程序时出现异常 [client-ejb]:引用错误:此捆绑包没有名称 [客户端豆]"
我需要帮助,谢谢。
我在尝试部署我的应用程序时遇到了类似的问题(部署应用程序时出现异常 [my-app]:引用错误:此捆绑包没有名称为 [myBeanFacade] 的 bean)。相当奇怪,但解决这个问题所需要做的就是转到构建类别树下 [my-app] 的属性,选择 compile 并勾选 compile on save 选项。重新部署了我的应用程序和中提琴!注意 [my-app] 包含 2 个 ejb jar 和一个 Web 应用程序,其中一个 ejb 是 Web 应用程序中的一个库。
出现此问题是因为该人忘记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>