我也是刚开始学的,用的也是JBOSS,我是按下面的步骤做的EJB打包
              我们需要将以上文件编译的CLASS文件打成一个JAR包,部署到JBOSS中,才能调用ExampleClient执行测试。此jar包可以是任何名字,这里把它命名为myfirst.jar。              按照以上文件的包路径,在正常编译后会形成一examples目录,下面存放各class文件。在和examples同级目录中,还需建立一META-INF目录,里面将放置部署EJB所需要的各种配置文件。              在META-INF下,我们需要有两个文件ejb-jar.xml和jboss-service.xml。ejb-jar.xml文件里将包括EJB的各种关键信息,而jboss-service.xml则包括EJB部署在JNDI上的一些关键信息。一般网上资料介绍中只会介绍ejb-jar.xml文件,但对于JNDI部署就几乎没有,有的也是从jboss2.4.4那边继承过来的,名称为jboss.xml,但是在jboss3.0.4中,它不会承认这个名字的,只认得jboss-service.xml。              ejb-jar.xml文件内容如下:<?xml   version="1.0"   encoding="UTF-8"?><ejb-jar>              <description>Your   first   EJB   application   </description>              <display-name>JUST   A   TEST</display-name>              <enterprise-beans>                            <session>                                          <ejb-name>Example</ejb-name>                                          <home>examples.ExampleHome</home>                                          <remote>examples.Example</remote>                                          <local-home>examples.ExampleLocalHome</local-home>                                          <local>examples.ExampleLocal</local>                                          <ejb-class>examples.ExampleBean</ejb-class>                                          <session-type>Stateless</session-type>                                          <transaction-type>Container</transaction-type>                            </session>              </enterprise-beans></ejb-jar>里面列出了EJB的名称以及各接口和BEAN的类路径和类名。Jboss-service.xml内容如下:<?xml   version="1.0"   encoding="ISO-8859-1"?><jboss>              <enterprise-beans>                            <session>                                          <ejb-name>Example</ejb-name>                                          <jndi-name>Example</jndi-name>                            </session>                            <secure>true</secure>              </enterprise-beans>              <resource-managers/></jboss>里面列出了EJB的名字和JNDI中该EJB的位置名称,这对于多个EJB的部署十分重要的。有了这些目录和文件,就可以将其打包了。在examples和META-INF同级目录中,运行命令:jar   cvf   myfirst.jar   examples/*.class   META-INF/*.xml执行完毕,我们就有了一个myfirst.jar包,里面包括了目录examples和META-INF以及在相应目录下的class和xml文件。至此,我们已经形成了一个可以在不同EJB容器下执行的EJB   JAR包了,下面要讲述的是在jboss3.0.4中如何具体部署我们的myfirst.jar。EJB在jboss3.0.4中的部署
              只要写好了ejb-jar.xml和jboss-service.xml,在jboss3.0.4中部署EJB是很简单的了。              不同的启动jboss模式,就将该jar文件放入对应的目录中。例如:我们用run   –c   all命令启动,则就将myfirst.jar放入server目录下的all\deploy目录下,则此时,运行中的JBOSS会自动识别并根据jar中的META-INF\*.xml自动部署它。              则EJB的部署就完成了。EJB的运行
              我们运行ExampleClient来检验我们EJB程序。              在编译ExampleClient.java时,   CLASSPATH需要引入jboss目录client下的jar文件,才能编译成功并正常运行。              运行ExampleClient,在客户端会出现:        start   ejb   client   testJust   a   simple   example!而在服务端,则会出现类似如下语句:13:35:31,250   INFO     [STDOUT]   setSessionContext13:35:31,250   INFO     [STDOUT]   ejbCreate13:35:31,250   INFO     [STDOUT]   example()  证明我们的EJB在jboss3.0.4下成功运行!

解决方案 »

  1.   

    ant -f jboss-builder.xml package
      

  2.   

    我们运行ExampleClient来检验我们EJB程序。              在编译ExampleClient.java时,   CLASSPATH需要引入jboss目录client下的jar文件,才能编译成功并正常运行。              运行ExampleClient,在客户端会出现:        start   ejb   client   testJust   a   simple   example!而在服务端,则会出现类似如下语句:13:35:31,250   INFO     [STDOUT]   setSessionContext13:35:31,250   INFO     [STDOUT]   ejbCreate13:35:31,250   INFO     [STDOUT]   example()
    我上面照做了.可是这点我不太明白.在那里运行ExampleClient.客户端,服务端.是什么意思呀.jboss不就是运行就可以了吗?怎么还那么复杂呀.能否在具体以下呀.我不太明白.谢了
      

  3.   

    EJB是一种组件,客户端就是要调用TJB的啊,你部署好EJB后要有一个客户代码来来调用它啊,我也是现在学的,知道的不多