修改weblogic.property文件
找这一行
weblogic.ejb.deploy = C:/weblogic/myserver/ejb_basic_statelessSession.jar
至于这个jar文件如何而来,建议你自己看文档几例子.

解决方案 »

  1.   

    我加进了weblogic.ejb.deploy = C:/weblogic/myserver/HelloWorldBean.jar,重新启动weblogic5.1后,在客户端浏览却出现如下信息,不知怎么解决?/hello.jsp(1): Could not create a bean of type: helloworld.HelloWorldBean: java.lang.ClassNotFoundException: helloworld.HelloWorldBean
    probably occurred due to an error in /hello.jsp line 1:
    <jsp:useBean id="hello" class="helloworld.HelloWorldBean" scope="session" ></jsp:useBean> 
      

  2.   

    看ejb有没有部署成功,在weblogic的控制台能看到以下信息:
    星期二 二月 22 09:53:54 GMT+08:00 2000:<I> <EJB> 2 EJB jar files loaded, contain
    ing 2 EJBs
    星期二 二月 22 09:53:54 GMT+08:00 2000:<I> <EJB> 2 deployed, 0 failed to deploy.
    注意成不成功关键是你的jar文件生成的对不对
      

  3.   

    不仅仅是jar的配置,很明显你的classpath设定的不对:ClassNotFoundException。
    去看看setEnv中classpath的设定,也就是要让weblogic找到你的HelloWorldBean.class。
    注意:这个class和编译成jar的source一定要统一。
      

  4.   

    还是同样的例外信息,我对自己的操作有两个方面有疑问,敬请高手帮助指点:
    1>setEnv.cmd里我设定了set CLASSPATH=%WL_HOME%\myserver\HelloWorld.jar不知对不对,为什么在weblogic.properties里加进去了jar文件还要在这里又要指定路径?,如果jar文件很多,岂不是很麻烦?
    2>HelloWorld.jar是我用jbulider4+ias开发的,那里面的自动生成的xml文件要手工修改,完毕后我用winzip打包成HelloWorld.jar
      

  5.   

    还是同样的例外信息,我对自己的操作有两个方面有疑问,敬请高手帮助指点:
    1>setEnv.cmd里我设定了set CLASSPATH=%WL_HOME%\myserver\HelloWorld.jar不知对不对,为什么在weblogic.properties里加进去了jar文件还要在这里又要指定路径?,如果jar文件很多,岂不是很麻烦?
    2>HelloWorld.jar是我用jbulider4+ias开发的,那里面的自动生成的xml文件要手工修改,完毕后我用winzip打包成HelloWorld.jar
      

  6.   

    classpath不应该设定到xxx.jar上面,而应该设定到xxx.class的目录上面。
    个人感觉weblogic的配布工作(也就是deploy)仅仅是建立起了bean的实体和他的remoteinterface的关联,而具体的实体是要靠你设定的classpath去找,在weblogic启动的时候,把它导入进来。
      

  7.   

    我靠,漏看了一句!
    jar不是用winzip打包的,应该是用jdk下面bin目录中的jar命令作的。
      

  8.   

    我先前是用jar打包,但是有问题:
    用jbuilder4+ias写HelloWorld.jar时,要改META-INF目录里(有ejb-jar.xml,weblogic-ejb-jar.xml,MANIFEST.MF)weblogic-ejb-jar.xml,MANIFEST.MF这两个文件,完毕后用jar打包,再用winzip查看,发现唯MANIFEST.MF文件的内容被莫名的改为仅下面两行:
    Manifest-Version: 1.0
    Created-By: 1.2.2 (Sun Microsystems Inc.)
    真是太奇怪了??
      

  9.   

    看来JB4已经提供了打jar的机能,能够省一些事情,好消息。
    那两个xml文件是肯定要的,你如果用jar打包都失败,weblogic是肯定不转的。
      

  10.   

       您能给我一个编好了的jar文件吗,我对自己写的信心不大了,其实我在weblogic6.0里发布Ejb成功了(用jbuilder+ias写的HelloWorlder.jar,按要求需修改*.xml文件),是不用修改jar的任何东西就成功了!
      我现在有个项目要选定了weblogic5.1,并且再过一段时间就要开工了,万一不行,倒时候就暂时用jsp开发算了,非常非常感谢vampirelord的帮忙,我会记得的,能不能告诉我你的mail和姓名,以后还有很多向您学习!
      

  11.   

    这样吧,给我你的邮箱,我给你发一个在weblogic5.1下作jar的sample过去。
    对了,要澄清一点:ejb和jsp根本是两回事。
      

  12.   

    还行,不是乱码,原来您是在国处出差呀,好羡慕喔,(只是鬼子太恶心)我不知何时能到外面看看........
    我看到了一个a.bat的文件,是不是关于setEnv.cmd的设置?具体的范例文件没有看到呀?
      

  13.   

    不是,是做jar的,你没用过批处理??
      

  14.   

    这是您将已经做了的程序进行打包成jar吧,能不能就将XXX.jar发过来我分析一下,因为HelloWorld.jar我用jb4+ias动态生成的,xml的部署文件是ias的,而不是weblogic的,要手工改,我想有一个具体的XX.jar参一下
      

  15.   

    sorry,目前手里的东西涉及公司机密,不能给你。
    我可以做一个,不过要等一段时间。
      

  16.   

    ok!weblogic.log报告布署成功,我写了一个检测的程序mytest.jsp如下:
    <jsp:useBean id="test class="test.MyTestBean" scope="session" ></jsp:useBean>
    <%//out.println(test.getUserName());
    out.println("<br>成功!!!");
    %>
    但却出现这样的信息:(这回没有:"Could not create a bean of type",我正在分析原因...)
    Compilation of 'D:\weblogic\myserver\classfiles\jsp_servlet\_mytest.java' failed:
    --------------------------------------------------------------------------------
     D:\weblogic\myserver\classfiles\jsp_servlet\_mytest.java:75: 'try' without 'catch' or 'finally'.
    (No more information available, probably caused by another error)D:\weblogic\myserver\classfiles\jsp_servlet\_mytest.java:80: Type expected.
    (No more information available, probably caused by another error)
      

  17.   

    感觉象是jsp方面的问题了。
    你干脆把你的ejb中的函数简化到只出一些message。也就不用什么try,catch之类乐,先确定出问题的地点再说。
      

  18.   

    sorry,我太大意了,上面的问题是用Bean的时修少了一个"(id="test),改正之后出现和以前一样的信息,我把操作方法列出来:
    1>在setEnv.cmd加入
    set CLASSPATH=%WL_HOME%\myserver;%WL_HOME%\myserver\ejb
    我的MyTest.jar在d:\weblogic\myserver\ejb\MyTest.jar;
    2>在startWebLogic.cmd同样加入
    3>启动weblogic5.1
    weblogic.log如下:(应该是发布成功了吧?)
    星期三 二月 23 13:40:11 GMT+08:00 2000:<I> <EJB JAR deployment d:/weblogic/myserver/ejb/MyTest.jar> EJB home interface: 'ejb.MyTestHome' deployed bound to the JNDI name: 'ejb.MyTestHome'
    星期三 二月 23 13:40:11 GMT+08:00 2000:<E> <EJB JAR deployment4>我写了一程序mytest.jsp如下:
    <jsp:useBean id="test" class="ejb.MyTestBean" scope="session" ></jsp:useBean>
    <%//out.println(test.getUserName());%>5>浏览,但却出现这样的信息,我该怎么办?又迷茫了...
    /mytest.jsp(5): Could not create a bean of type: ejb.MyTestBean: java.lang.ClassNotFoundException: ejb.MyTestBean and java.lang.ClassNotFoundException: ejb.MyTestBean
    probably occurred due to an error in /mytest.jsp line 1:
    <jsp:useBean id="test" class="ejb.MyTestBean" scope="session" ></jsp:useBean> 
      

  19.   

    个人感觉,你把bean和ejb弄混淆了。你的jsp的写法是调用bean,而不是ejb。
    ejb的调用,是通过lookup,找到home接口,通过home接口,create出remote接口,用户只操作remote接口,至于remote接口和ejb的主体如何关联,则是weblogic的事情。
      

  20.   

    重写了mytest.jsp调用EJB,最初有好多bug,后来可以返回"ok!",没有其它的错误,只是没能输出hello.getUserName("zhb"),我想可能是商业逻辑没有提拱返回值,您看我这用jsp去调用ejb方法对吗?
    程序:
    <%@page import="java.sql.*,java.util.*,javax.naming.*,javax.ejb.*,java.rmi.RemoteException,java.rmi.Remote,ejb.*" session="true" contentType="text/html;charset=GB2312"%>
    <%
    Context ctx=new InitialContext();
    ejb.MyTestHome testhome=(ejb.MyTestHome)ctx.lookup("ejb.MyTestHome");
    ejb.MyTest hello=testhome.create();
    out.println(hello.getUserName("zhb"));
    out.println("<br>ok!");
    hello.remove();
    %>     
      

  21.   

    差不多乐。
    你在bean中打一些log信息,会出在weblogic的运行界面上,有没有问题就一目了然了。
    因为ejb没办法debug,所以log一定要多打,兄弟能帮的忙估计也就这么多,然后就看你的了。
    Good luck!!
      

  22.   

    我在weblogic服务运行窗口看到了下面的结果:
    I have into the getUserName
     userId is:zhb
      

  23.   

    ezhb兄,你就好了,有vampirelord罩着,希望高手都能够不遗余力帮助新手才是,中国民族软件产业何愁不兴旺发达!!
    海兄弟,你既然用Ias做应用服务器,为什么要配置在weblogic下的ejb??何况你有6.0怎么还用5.1啊,哎呀我说哪里去了,废话废话,别怪我~~~
      

  24.   

    to ezhb:
    <%@page import="java.sql.*,java.util.*,javax.naming.*,javax.ejb.*,java.rmi.RemoteException,java.rmi.Remote,ejb.*" session="true" 
    那个import ejb.* 是什么,我想是你把自己的ejb也编译放到你的classes里面吧,
    就像调用普通的bean一样,把它也import进来用,既然如此为什么还需要配置ejb呢?
    不过我也不知道client端是怎么样调用ejb的,weblogic有几个ejb的例子,都是首先帮ejb
    定义了本地接口home,比如private AccountHome home;我想编译程序会说java.lang.ClassNotFoundException:AccountHome ,在客户端当然是没有AccountHome接口类的,可是创建ejb必须用到home接口的create(),我不知道该怎么做;(
      

  25.   

    教导我可不敢当,只是我比你痛苦的早一年而已:)。
    一年前我连java是什么都不知道,就和ejb干上了,调整weblogic环境用了一个星期,第一个ejb的发布又用了一个星期,翻了n多稳当,全他妈英文,而我的英文又很烂.....
    我实在不忍心看你受罪,不过话说回来,该看的稳当还是要看,java技术更新很快,练英文吧!!!
      

  26.   

    vampirelord看到我前面的问题了没有啊? 该死,困惑我好久,你给回答一下吧,client调用
    ejb要在client端复制home接口吗??
      

  27.   

    ???复制是什么意思?拷贝一个.class吗?这可不对。
    还是用context的lookup就行了。我从来就是把jsp理解成client的,webserver和apserver不要混起来。
      

  28.   

    我也不知道client端是怎么样调用ejb的,weblogic有几个ejb的例子,都是首先帮ejb
    定义了本地接口home,比如private AccountHome home;我想编译程序会说java.lang.ClassNotFoundException:AccountHome ,在客户端当然是没有AccountHome接口类的,可是创建ejb必须用到home接口的create(),我不知道该怎么做;(
    比如:
    //这里AccountHome接口类不会出错吗??AccountHome配置在weblogic里面呀
    private AccountHome home;
    Context ctx = getInitialContext();
    Object home = ctx.lookup("beanManaged.AccountHome");
    //下面返回了AccountHome接口了,所以必须先定义home
    home = (AccountHome) PortableRemoteObject.narrow(home, AccountHome.class);

    你说用context的lookup就行了,lookup返回的接口难道不要用接口类定义吗?
      

  29.   

    我也不知道client端是怎么样调用ejb的,weblogic有几个ejb的例子,都是首先帮ejb
    定义了本地接口home,比如private AccountHome home;我想编译程序会说java.lang.ClassNotFoundException:AccountHome ,在客户端当然是没有AccountHome接口类的,可是创建ejb必须用到home接口的create(),我不知道该怎么做;(
    比如:weblogic的例子里面weblogic\examples\ejb\basic\beanManaged\Client.java
    34行
    //这里AccountHome接口类不会出错吗??AccountHome配置在weblogic里面呀
    //client没有AccountHome类可以用啊
    private AccountHome home;
    Context ctx = getInitialContext();你说用context的lookup就行了,lookup返回的接口难道不要用接口类定义吗?
      

  30.   

    sorry,我也有点记不太请了。不好意思。
    给ezhb发个mail问问吧。他的邮箱就在上边。
      

  31.   

    gdsean今天休息了一下,刚回来才看到:
    您的问题,见意看一看vampirelord在上面所说的"ejb的调用,是通过lookup,找到home接口,通过home接口,create出remote接口,用户只操作remote接口,至于remote接口和ejb的主体如何关联,则是weblogic的事情。"这句话,然后结合weblogic的实例去体会吧,我也是新手,这是我第一个从客户端调用Ejb的程序,所以具体我也真说不清楚,我是看了weblogic里的实例做出来的,源码就在上面。
      

  32.   

    好吧,其实老是靠问别人也是所获不大的,很多东西必须靠自己去摸索,收获往往会更大,
    你用了Ias是吗,我今天下载了一个,可是安装时候要求输入注册码,你有没有??
      

  33.   

    我装过,不用输入注册码,让它和企业名为空即可,给你发过mail说过,不知收到没,其实我也没有注册码
      

  34.   

    我跟你找到了,也为我找到了!
    inprise
    YYSTYHAB-ADDHAAAA-AAATAAAA-ADDHAAAA-08C2
      

  35.   

    有没有人帮我一下:《:我安装了weblogic5.1,并且设置了web路径,启动weblogic后,在浏览器中输入:http://localhost:7001/index.html 能够看到这个也面,但是输入http://localhost:7001/hello.jsp 却出现以下执行结果:
     
    Error 500--Internal Server Error
     From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
    10.5.1 500 Internal Server Error
    The server encountered an unexpected condition which prevented it from fulfilling the request.
      
     
    请教解决该问题的方法!
     
      

  36.   

    好像是路径不对
    你试一下这个:http://localhost:7001/jsp/hello.jsp 
      

  37.   

    好像是weblogic.properties里的设置问题
      

  38.   

    weblogic51墨任不能运行jsp, 需要修改weblogic.property
      

  39.   

    都是热血高手啊,要是大家一起这样多交流的话,一定会进步很快啊没,
    TO ezhb(海) :我现在也要用weblogic 5.1做一个开发ejb的项目啊,能指导一下么?
      qq上聊聊啊!4579751 
      谢谢你先了!