请把about所在的目录如about在/home/test/javatest目录中,将它加到CLASSPATH中,就可以了。

解决方案 »

  1.   

    你用的idlj是什么版本的啊?
    新版本的产生的服务器端skeleton不再叫_XXXImplBase,而是叫XXXOperations.如果是那样的话,你的servant类改成实现ShowOperations接口就行了。
      

  2.   

    如果不是classpath的问题,而是我说的问题,也可以用带参数的idlj命令:
    idlj -fall -oldImplBase show.idl
    来生成那些和你现在代码兼容的stub和skeleton等
      

  3.   

    violetrose(violetrose) 
    我用的是jdk1.3,生成的确实是XXXOperations但我用idlj -fall -oldImplBase Show.idl
    提示出错:Invalid argument:-oldImplBase我修改代码
    class ShowObject extends _ShowImplBase

    class ShowObject extends ShowOperations
    提示出错:不能访问ShowOperations
    坏的类文件:c:\jdk1.3\bin\About\ShowOperations.class
    类文件含有错误的类:About.ShowOperations你能在你的机器上看一下可以吗???
      

  4.   

    我用的也是JDK1.3,但idlj生成的确是_XXXImplBase啊,你用idlj -fall Show.idl之后,确保CLASSPATH没有问题吗?我做过这样的项目,没有任何问题的,好好检查吧!!
      

  5.   

    zhangxiaogen(笨笨) 
    我用idlj -fall Show.idl确实生成了_ShowImplBase.java
    然后我用javac About/*.java正确编译为class
    ShowObject.java的代码为
    import About.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; class ShowObject extends _ShowImplBase { public String ShowName() { return "\nMy name is Seymour!!\n"; } }
    ---------------------------------------------
    c:\jdk1.3\bin下的文件为:
    Show.idl
    ShowObject.java
    ShowClient.java
    ShowServer.java
    c:\jdk1.3\bin\About下为生成的文件检查CLASSPATH为echo %classpath%
    c:\jdk1.3\bin
    c:\jdk1.3\About
    都在内啊
    可javac ShowObject.java提示出错:
    不能访问_ShowImplBase
    坏的类文件:c:\jdk1.3\bin\About\_ShowImplBase.class
    类文件含有错误的类:About._ShowImplBase
    请去掉或确信它出现在正确的CLASSPATH的子目录中救命啊!!!
      

  6.   

    你的类路径指错了,你应指到c:\jdk1.3而不是c:\jdk1.3\About.
      

  7.   

    supershot(悲伤的我眼神似流星,快乐的我眼睫也在飞)
    我特意给你试了一下,将你的代码拷了下来,没有任何问题呀。
    在生成Show.idl文件之后,放在C:\Exam目录中(C:\Exam在我的CLASSPATH中)
    然后运行idlj -fall Show.idl生成了一个About目录,里面有6个类:
    _ShowImplBase.java
    _ShowStub.java
    Show.java
    ShowHelper.java
    ShowHolder.java
    ShowOperations.java
    接着我编译这几个类javac About/*.java(当前目录在C:\Exam)
    然后我生成你一样的ShowObject.java放在c:\Exam目录中
    javac ShowObject.java
    一切ok!
    你自己再看看有什么和我的不一样.
      

  8.   

    我受不了了,
    我在c:\jdk1.3\bin下就是不行
    我就新建立一个c:\Exam,像你一样,就可以了,全部OK!!!
    晕到~~谢谢各位的帮助!!!
      

  9.   

    试一试javac ShowObject.java About/*.java;最好javac *.java About/*.java一次全部编译。