我有。* 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中的Class1Package Class2Package
我有: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错误
怎么了?
答案 0 :(得分:1)
解释错误的原因here(看看接受的答案),基本上从java 4开始,你不能再在未命名的包中引用类(使用import语句)(也就是默认包) )来自命名包。
修改你的IDL编译器以获得一个模块,你有没有在模块中有接口的原因?