我有一个.*idl接口:
interface Class1;
interface Class2
{
typedef sequence<Class1> vector;
Class2 create();
};
interface Class1
{
typedef sequence<Class2> vector;
Class1 create();
};我是这样编译的:
-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
发布于 2012-08-23 12:37:33
错误的原因是解释了here (查看可接受的答案),基本上从java 4开始,您就不能再引用未命名包中的类(使用导入语句)(又名)。(默认包)来自命名包。
将IDL编译器修改为有一个模块,这是否是模块中没有接口的原因?
https://stackoverflow.com/questions/12019403
复制相似问题