要把war包手工放在weblogic相应目录里试试

解决方案 »

  1.   

    -classpath "d:\bea\jdk131_02\lib\tools.jar;
    d:\bea\weblogic700\server\lib\weblogic_sp.jar;
    d:\bea\weblogic700\server\lib\weblogic.jar;
    .;
    D:\bea\weblogic700\server\lib\weblogic.jar;
    D:\j2ee1.3.1\lib\j2ee.jar;
    D:\j2sdk1.4.2\lib\dt.jar;
    D:\j2sdk1.4.2\lib\htmlconverter.jar;
    D:\j2sdk1.4.2\lib\tools.jar;
    D:\j2sdk1.4.2\jdom-b10\build\jdom.jar;
    D:\j2sdk1.4.2\jdom-b10\lib\xerces.jar
    这个是外部启动的时候出现在服务器上的classpath的参数我在jb里面使用的是j2sdk1.3 和这个有问题吗?手工拷贝war我试过的,不管用。另外就是在JB的weblogic配置里面有D/bea/weblogic700/server/lib/webservices.jar这个包,是不是这里的问题呢?
      

  2.   

    我的ejb当时就是在1.3下开发的,用1.4有问题。不过刚才已经改过来了还是不行啊。郁闷死了。再问一下啊,怎么我的web.xml只有<web-app></web-app>?
    我的测试程序只使用了jsp的 另外就是那些包了
      

  3.   

    还有就是是不是把war和jar打成ear会好些呢?谁有jsp测试ejb的经验啊?来讨论一下
      

  4.   

    UPUPUPUPUPJ2EE新手,多多关照 ;)
      

  5.   

    哎,没人遇到过?真郁闷死了,在csdn上提了4个问题都是这个样,5555555
      

  6.   

    <web-app>里面的东西要自己加,不过对jsp来说,不加也可以。
    目录结构如下:
     HelloWorldEar.ear
          |-----HelloWorldEJB.jar
          |-----HelloWorldWar.war
          |-----meta-inf/
                     |------application.xml在application.xml中,以HelloWorld为例
    <application>
      <display-name>HelloWorld</display-name>
      <description>Application description</description>
      <module>
        <web>
          <web-uri>HelloWorldWAR.war</web-uri>
          <context-root>HelloWorld</context-root>
        </web>
      </module>
      <module>
        <ejb>HelloworldEJB.jar</ejb>
      </module>
    </application>HelloWorldEJB.jar目录结构:
        |-----META-INF                  |------ejb-jar.xml
                      |------weblogic-ejb-jar.xml
            |-----test(包)
                  |-----xxx.classwar包目录结构
        |-----META-INF                 |------web.xml
                     |------weblogic.xml
                     |------classes                           |----javabean                                    |-------xxx.class
           |-----test.jsp最好是用ear包weblogic.xml<weblogic-web-app>
    <description>WebLogic Descriptor</description>
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>ejb/HelloWorldEJB</ejb-ref-name>
    <jndi-name>HelloWorldEJB</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-web-app>
     
    web.xml<web-app>
    <display-name>HelloWorldWAR</display-name>
    <description>no description</description>
    <ejb-ref>
    <ejb-ref-name>ejb/HelloWorldEJB</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>test.HelloWorldHome</home>
    <remote>test.HelloWorld</remote>
    </ejb-ref>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <welcome-file-list>
    <welcome-file>Test.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    上述供参考,不全一致
      

  7.   

    brendal(brendal) ,谢谢了。不过我的这些没问题的,可能就是我的环境搭配有问题,不然在jB里面也不会调用成功的。唉,真正体会到java的“一次编译,到处运行(调试)”了啊!
    问一下,就是大家开发ejb和测试程序的环境搭配是怎么样的呢?先说下我的吧,1.在JB里面先配置服务器wls7.0(192.168.0.185:7001)
    2.建立runtime类型的服务器选项(使用刚才的默认配置).这里也也可以设置远程服务器以供调试使用(现在的问题不涉及这个)
    3.建立一个项目( ejb和ejbclient以及war都在这个项目里面)
    4.建立ejb模块,建立ejb,编译为jar.
    5.建立测试client.
    6.建立测试jsp,打包为war
    7.在wls的console里配置连接池 数据源
    8.在JB里面发布ejb,war(wls在jb里面启动)
    9.运行jsp测试程序,OK
    但,我关了JB单独运行wls(我已经把在JB模式下的wls部署的ejb和war删除,重新部署)就不行啊!这个外部的wls和jb调用的wls是同一个。
      

  8.   

    那你可以在使用浏览器前试着先运行一下服务器的setEnv.cmd
      

  9.   

    自己解决了,我把war程序重新做了一遍就行了 估计是以前打包有点问题