我目前用的方法是将这三个*.jar打成一个*.ear包。这样在weblogic下面不用配置任何ref,即可互相访问,如果要配置的话,那么在你的第三个jar中的ejb-jar.xml中做引用:(下面是我的一个例子,在ManageModel.jar中引用了IDSessionSequences和ManageGraph)
<ejb-jar>
    <enterprise-beans>
        <session>
            <display-name>ManageModel</display-name>
            <ejb-name>ManageModel</ejb-name>
            <home>cn.com.hkgt.pm.ejb.session.ManageModelHome</home>
            <remote>cn.com.hkgt.pm.ejb.session.ManageModel</remote>
            <local-home>cn.com.hkgt.pm.ejb.session.ManageModelLocalHome</local-home>
            <local>cn.com.hkgt.pm.ejb.session.ManageModelLocal</local>
            <ejb-class>cn.com.hkgt.pm.ejb.session.ManageModelBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
            <ejb-local-ref>
                <description />
                <ejb-ref-name>ejb/IDSessionSequences</ejb-ref-name>
                <ejb-ref-type>Session</ejb-ref-type>
                <local-home>cn.com.hkgt.pm.ejb.session.IDSessionSequencesLocalHome</local-home>
                <local>cn.com.hkgt.pm.ejb.session.IDSessionSequencesLocal</local>
                <ejb-link>IDSessionSequences</ejb-link>
            </ejb-local-ref>
            <ejb-local-ref>
                <description />
                <ejb-ref-name>ejb/ManageGraph</ejb-ref-name>
                <ejb-ref-type>Session</ejb-ref-type>
                <local-home>cn.com.hkgt.pm.ejb.session.ManageGraphLocalHome</local-home>
                <local>cn.com.hkgt.pm.ejb.session.ManageGraphLocal</local>
                <ejb-link>ManageGraph</ejb-link>
            </ejb-local-ref>
        </session>............
祝成功!

解决方案 »

  1.   

    你用的是WSAD还是JBUILDER?
    如果你是WSAD的话,你只需要在SESSIONC上,加上对CMPA和CMPB的EJB LOCAL REFERENCE就可以了
      

  2.   

    不用配,直接lookup("cmpA");就中了
    反正你的third.jar 它将和first.jar、secord.jar放在一个服务器上
      

  3.   

    对各位的支持非常驻感谢!
    我用的是JBuilder,EJB服务器是Jboss3x!第一: a_ja(青藏牦牛):
         因为实际的需要我不想将它们放在一个EAR中,因为项目大小的原因,我希望各个EJB Module由不同的人同时开发,非CMP由专人开发,Logic由另外一部分人员开发,我不希望他们想互影响,总之我一想将它们放在一个EAR中发布,由其一些公用的,我同可能有很多的项目在一个Container中运行,它们可能要引用相同的ejb的jar.
         
         这样的话(各个jar独立),我在进行ejb-local-ref时就没法指定ejb-link了,这样发布就出错,因为jboss要求local引用一定要在ejb-jar.xml中指定对应的ejb-link.第二: uu_snow(薇薇) :
        其Jb中也有你说的这个功能,但是选中SessionC的DD Editor后,新加Local Refrence 后,我没法找到CMPA与CMPB,因为它跟本不在我的这个ejb moudle中,我不知道WSAD中是否可以直接找到其它EJB moudle中的EJB.第三:accp(accp) :
        你说的这种方法是我所不愿看到的,因为我希望EJB 之间的参考是可以配置的,如查通过Hardcode的方法对于以后想变更可能不方便。
    =====================
    难道就真的没有办法了吗??
      

  4.   

    怎么会没办法呢~
    双击你的EJB,在右边选中EJB Local Reference,然后Add就行了,所有的项要自己输~
      

  5.   

    另外,我不认为你这样的方式是对的
    你应该把这些项目的EAR分为WAR+EJB+公用的JAR(如LOG4J)
    而你的EJB应该放到一个MODULE里你说的分多人开发不同的东西,这应该是项目管理层面的,或是说是协同工作层面的
    而不是在项目的部署中也要这么做
      

  6.   

    按照accp(accp)说法已成功了!!相给对方加分怎么办?同时非常感谢各位的参与!大家能不能就EJB项目的管理与协同开发提出一些实际可行的方案或者有没有实际项目开发中尝试过的经验,现在网上很多,但是都过于抽象或理论!