Glassfish部署失败-“;引用错误:此捆绑包没有名为[ClientBean]的bean;

Glassfish部署失败-“;引用错误:此捆绑包没有名为[ClientBean]的bean;,glassfish,ejb,remote-client,Glassfish,Ejb,Remote Client,我正在尝试运行此页面中的示例: 但是,当我尝试在glassfish上部署客户机(“asadmin>deployclientejb.jar”)时,我遇到了这个错误: “部署应用程序[client ejb]时出现异常:引用错误:此捆绑包没有名为[ClientBean]的bean” 我需要帮助,谢谢。我在尝试部署我的应用程序时遇到了一个类似的问题(部署应用程序[my app]时出现异常):引用错误:此捆绑包没有名为[myBeanFacade]的bean。这很奇怪,但解决这个问题所需的只是转到构建类别树

我正在尝试运行此页面中的示例:

但是,当我尝试在glassfish上部署客户机(“asadmin>deployclientejb.jar”)时,我遇到了这个错误: “部署应用程序[client ejb]时出现异常:引用错误:此捆绑包没有名为[ClientBean]的bean”


我需要帮助,谢谢。

我在尝试部署我的应用程序时遇到了一个类似的问题(部署应用程序[my app]时出现异常):引用错误:此捆绑包没有名为[myBeanFacade]的bean。这很奇怪,但解决这个问题所需的只是转到构建类别树下的[my app]属性,选择编译并勾选保存时编译选项。重新部署了我的应用程序和viola!!
NB[我的应用程序]包含2个ejb jar和一个web应用程序,其中一个ejb是web应用程序中的库。

发生此问题的原因是该人忘记在
客户端ejb.jar中添加
ServiceIF.class
引用

执行以下命令:

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>

你好
com.ejb.test.HelloHome
com.ejb.test.HelloObject
com.ejb.test.HelloBean
无国籍
容器
**你好**
*
要求的
**你好**
jndi/你好