0

私は .*idl インターフェイスを持っています:

interface Class1;

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

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

私は次のようにコンパイルします:

idlj -fclient インターフェイス.idl

そしてそれは私にファイルを与えます:

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

カタログ:

クラス1パッケージ クラス2パッケージ

Class1Package には : がvectorHelper.java vectorHolder.javaあり、Class2Package には: がありますvectorHelper.java vectorHolder.javacdClass1Package に編集して Java ファイルをコンパイルしようとすると (`javac *.java を使用)、エラーが発生しました。

vectorHelper.java:3: '.' 予想されるインポート Class2; ^ vectorHelper.java:3: ';' 予想されるインポート Class2; ^ vectorHelper.java:4: クラス、インターフェース、または列挙型が予想される import Class2Helper; ^ vectorHolder.java:3: '.' 予想されるインポート Class2; ^ vectorHolder.java:3: ';' 予想されるインポート Class2; ^ 5 エラー Class1Package$ javac *.java vectorHelper.java:3: '.' 予想されるインポート Class2; ^ vectorHelper.java:3: ';' 予想されるインポート Class2; ^ vectorHelper.java:4: クラス、インターフェース、または列挙型が予想される import Class2Helper; ^ vectorHolder.java:3: '.' 予想されるインポート Class2; ^ vectorHolder.java:3: ';' 予想されるインポート Class2; ^ 5 エラー

どうしたの?

私のプロジェクト全体: http://www41.zippyshare.com/v/32339153/file.html

4

1 に答える 1

1

エラーの理由はここで説明されています(受け入れられた答えを見てください)。基本的にJava 4以降では、名前の付いたパッケージから名前のないパッケージ(別名デフォルトパッケージ)のクラスを(importステートメントを使用して)参照できなくなります。

IDLコンパイラを変更してモジュールを作成しますが、モジュール内にインターフェイスがまだない理由はありますか?

于 2012-08-23T12:37:33.190 に答える