嘗試一下:
先set Classpath=.;D:\Program Files\BEA\weblogic81\server\lib\weblogic.jar
然后运行:java -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://localhost:7001 examples.HelloClient

解决方案 »

  1.   

    如果你用的masterejb20,不妨先仔细看看他的readme文件,说的很清楚的,有几个是* TO ENSURE THAT THE EXAMPLES RUN PROPERLY, YOU MUST USE THE VERSIONS OF THE
    SOFTWARE (SUCH AS THE JDK, BEA WEBLOGIC, ETC) THAT ARE SPECIFIED. NOTE THAT YOU MUST USE C:\book\EJB20\code!!
       DO NOT USE ANOTHER DRIVE LETTER OR FOLDER!!NOTE THAT YOU MUST DOWNLOAD VERSION 6.1!!!!
       DO NOT USE ANOTHER VERSION!!!
      

  2.   

    是在系统的环境变量classpath的值改成 .;D:\Program Files\BEA\weblogic81\server\lib\weblogic.jar还是在服务器启动的cmd文件中改??
      

  3.   

    就在你运行java -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://localhost:7001 examples.HelloClient
    之前(你应该是在dos窗口运行这段代码吧?),先设置classpath,这个classpath只对当前dos窗口有效,当然,如果你在系统classpath中设置了,他也可以对当前窗口生效
      

  4.   

    to chjoke(cherish) 
    readme我看了,也知道里面是要用weblogic6.1,
    但是前提是你如果用他自带的那个run-client,
    而我现在用的是8.1,所以直接用的命令行运行,那个例子本身也与weblogic的版本没什么关系。
      

  5.   

    十分感谢大家拉,情况好象有所进展,按照各位的指点操作,已经不报原来那个错了,现在报错:
    F:\资料\java书\MasteringEJB20Code\StatelessSession\HelloWorld\classes>java -Djava.naming.factory.initial=weblogic.jndi.WLInit
    ialContextFactory -Djava.naming.provider.url=t3://localhost:7001 examples.HelloClientException in thread "main" java.lang.NoClassDefFoundError: javax/security/auth/callback/CallbackHandler
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Unknown Source)
            at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:131)
            at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
            at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
            at javax.naming.InitialContext.init(Unknown Source)
            at javax.naming.InitialContext.<init>(Unknown Source)
            at examples.HelloClient.main(HelloClient.java:30)
      

  6.   

    cls
    cd classes
    java -Djava.security.policy=../java.policy -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://localhost:7001 examples.HelloClient
    cd ..
      

  7.   

    你少了 "-Djava.security.policy=../java.policy "
      

  8.   

    打开你的weblogic.jar,看看里面有没有javax/security/auth/callback/CallbackHandler这个类,我这里是有的
      

  9.   

    to lzl123(diablo) 
    我的weblogic.jar里javax/security/下没有auth/callback/CallbackHandler呀
    怎么办?
      

  10.   

    你少了 "-Djava.security.policy=../java.policy "而java.policy的内容是:grant { permission java.security.AllPermission; permission java.net.SocketPermission "*","listen,accept,connect";}; 这不是很清楚的事吗?
      

  11.   

    可是我执行了
    java -Djava.security.policy=../java.policy -Djava.naming.factory.initial=weblogic.jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://localhost:7001 examples.HelloClient
    还是报同样的错误呀
      

  12.   

    就是找不到javax/security/auth/callback/CallbackHandler,
    我的weblogic.jar中也没有这个,怎么办呢?
    怎么能加进去?
      

  13.   

    倒,我试了,没有那句好行.可是我的weblogic.jar也没有那些类,怎么我这运行就正常啊?
      

  14.   

    加个-verbose参数,看看能不能跟踪到什么?
      

  15.   

    我找到了,是这呢 [Loaded javax.security.auth.callback.CallbackHandler from e:\j2sdk\jre\lib\rt.jar]哈哈!!!
      

  16.   

    一会没来,这么热闹了,如 naxin(痴呆男人--我痴呆,我自豪!!) 兄所讲,j2sdk的jre/lib/rt.jar中有这个类,所以 chenyun430(贝贝哥) 在把rt.jar加入类路径把:)
      

  17.   

    我在我的D:\java\j2sdk1.4.1_01\jre\lib\rt.jar中也找到了javax.security.auth.callback.CallbackHandler,但是我为什么没有loaded进来呢?
      

  18.   

    这个hello出不来,可就要影响刚学EJB的热情了.
      

  19.   

    1。可能你没有设置java_home
    2.如果设置了java_home还不行,就把rt.jar手工加入类路径
      

  20.   

    lzl123(diablo)兄,怎么把rt.jar加入类路径?我刚刚开始学这个东西,如果问的幼稚不要笑我哦:)
      

  21.   

    naxin(痴呆男人--我痴呆,我自豪!!)兄,你说的太理解我们入门者了,感动ing :)
    我的系统环境变量java-home的值是D:\java\j2sdk1.4.1_01,怎样把rt.jar手工加入?
      

  22.   

    naxin(痴呆男人--我痴呆,我自豪!!)兄,你都知道影响初学者的心情了,还不快来帮帮我解决我的问题啊
      

  23.   

    在系统的环境变量classpath的值改成 .;D:\Program Files\BEA\weblogic81\server\lib\weblogic.jar;D:\java\j2sdk1.4.1_01\jre\lib\rt.jar
      

  24.   

    我估计你的JDK可能哪安装的不太规范,现在最新的是1.4.2_01-b06不如去java.sun.com/j2se 下载一个新的,安装时看清楚,该是不用加rt.jar到classpath的啊.
      

  25.   

    有什么方法可以把rt.jar加到weblogic.jar中去吗?
      

  26.   

    最简单的方法就是:
    .
    .
    .
    .
    .
    .
    .
    用jar解开,再压缩成一个jar.
      

  27.   

    问题已经解决了,特别感谢naxin(痴呆男人--我痴呆,我自豪!!) 和 lzl123(diablo) 两位大哥!