0

I have an .*idl interface:

interface Class1;

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

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

I compile it like this:

idlj -fclient interface.idl

and it gives me files:

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

and catalogs:

Class1Package Class2Package

in Class1Package I have : vectorHelper.java vectorHolder.java and in Class2Package I have: vectorHelper.java vectorHolder.java. When I cded to Class1Package and tried to compile java files (with `javac *.java) I got errors:

vectorHelper.java:3: '.' expected import Class2; ^ vectorHelper.java:3: ';' expected import Class2; ^ vectorHelper.java:4: class, interface, or enum expected import Class2Helper; ^ vectorHolder.java:3: '.' expected import Class2; ^ vectorHolder.java:3: ';' expected import Class2; ^ 5 errors Class1Package$ javac *.java vectorHelper.java:3: '.' expected import Class2; ^ vectorHelper.java:3: ';' expected import Class2; ^ vectorHelper.java:4: class, interface, or enum expected import Class2Helper; ^ vectorHolder.java:3: '.' expected import Class2; ^ vectorHolder.java:3: ';' expected import Class2; ^ 5 errors

What's wrong?

My whole project: http://www41.zippyshare.com/v/32339153/file.html

Brian Brown
  • 3,873
  • 16
  • 48
  • 79
  • sounds like your code generator is not generating the import correctly, can you have a look at java code to see what the compiler is complaining about, like for example import , – Akash Yadav Aug 18 '12 at 22:18
  • @Akash Yadav: yeah, I know that but I don't know what might be wrong, me whole project: http://www41.zippyshare.com/v/32339153/file.html. Could you take a look?:) – Brian Brown Aug 19 '12 at 17:57

1 Answers1

1

The reason for the error is explained here (look at accepted answer), basically from java 4 on you can no longer refer to a class (using an import statement) in an unnamed package (aka. default package) from a named package.

Modify your IDL compiler to have a module, is there a reason you don't have your interfaces inside a module already?

Community
  • 1
  • 1
display101
  • 2,035
  • 1
  • 14
  • 10