2013-07-24 5 views
7

これは、Eclipse JDTではなく、1.6.30または1.7.25に微細なコンパイル:Java静的インポートによってコンパイルエラーが発生します。おそらく、コンパイラのバグでしょうか?

package doh; 

import static doh.Wtf.InnerClass.innerclassMethod; 
import java.io.Serializable; 

public class Wtf { 

    static class InnerClass implements Serializable { 
     public static void innerclassMethod() {    
     } 
    } 
} 

のjavacで、私は以下のコンパイルエラーを取得:

error: cannot find symbol 
    static class InnerClass implements Serializable {  
symbol: class Serializable 
location: class Wtf 

余分静的インポートが可能コメントアウトコードをコンパイルします。したがって、インポートステートメントの順序を変更します。

+3

興味しかし、実装されているファイルにメソッドをインポートする目的は何ですか? – kiheru

+0

@erencanエラーメッセージをコンパイルすると、どのようなスタックトレースですか? :S – m0skit0

+4

[この類似のバグ](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7177813)に関連する可能性があります。 – assylias

答えて

7

jdk 1.7.25と同じコンパイルエラーが発生します。

(バグレポートで与えられた例では、入れ子になったクラスとして列挙型を使用していますが、それは概念的には同じであるが)と、提案の回避策は、あなたが記述したものと同じであることがa known bugのようだ:

  • swap import statements
  • remove static import and use fully qualified name
関連する問題