IDL到java(Suns idlj)如何编译生成的文件?

时间:2012-08-18 14:32:51

标签: java compiler-errors corba idl

我有。* idl界面:

interface Class1;

interface Class2
{
    typedef sequence<Class1> vector;
    Class2 create();
};

interface Class1
{
    typedef sequence<Class2> vector;
    Class1 create();
};

我这样编译:

  

idlj -fclient interface.idl

它给了我文件

Class1Helper.java      Class2.java            interface.idl
Class1Holder.java      _Class1Stub.java   Class2Operations.java
Class1.java            Class2Helper.java  
Class1Operations.java  Class2Holder.java  _Class2Stub.java

目录

  

Class1Package Class2Package

Class1Package中的

我有:vectorHelper.java vectorHolder.java和Class2Package我有:vectorHelper.java vectorHolder.java。当我cd编写Class1Package并尝试编译java文件(使用`javac * .java)时出错:

  

vectorHelper.java:3:'。'预期进口Class2;                ^ vectorHelper.java:3:';'预期进口Class2;                 ^ vectorHelper.java:4:类,接口或枚举预期导入Class2Helper;          ^ vectorHolder.java:3:'。'预期进口Class2;                ^ vectorHolder.java:3:';'预期进口Class2;                 ^ 5个错误Class1Package $ javac * .java vectorHelper.java:3:'。'预期进口Class2;                ^ vectorHelper.java:3:';'预期进口Class2;                 ^ vectorHelper.java:4:类,接口或枚举预期导入Class2Helper;          ^ vectorHolder.java:3:'。'预期进口Class2;                ^ vectorHolder.java:3:';'预期进口Class2;                 ^ 5错误

怎么了?

我的整个项目:http://www41.zippyshare.com/v/32339153/file.html

1 个答案:

答案 0 :(得分:1)

解释错误的原因here(看看接受的答案),基本上从java 4开始,你不能再在未命名的包中引用类(使用import语句)(也就是默认包) )来自命名包。

修改你的IDL编译器以获得一个模块,你有没有在模块中有接口的原因?