2013-07-24 52 views
7

này biên dịch tốt trong Eclipse JDT nhưng không phải trên 1.6.30 hoặc 1.7.25:Nhập tĩnh Java gây ra lỗi biên dịch. Lỗi trình biên dịch có thể xảy ra?

package doh; 

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

public class Wtf { 

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

Với javac tôi nhận được lỗi biên dịch sau:

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

Bình luận ra việc nhập khẩu tĩnh thừa làm cho biên dịch mã. Vì vậy, sắp xếp lại các câu lệnh nhập.

+3

Curious nhưng mục đích của việc nhập phương thức vào tệp nơi tệp được triển khai là gì? – kiheru

+0

@erencan Biên dịch lỗi người đàn ông, stacktrace gì? : S – m0skit0

+4

Nó có thể liên quan đến [lỗi tương tự này] (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7177813). – assylias

Trả lời

7

Tôi nhận được lỗi biên dịch tương tự với jdk 1.7.25.

Nó có vẻ là a known bug (mặc dù các ví dụ được đưa ra trong báo cáo lỗi sử dụng một enum như lớp lồng nhau nhưng nó là khái niệm giống hệt nhau) và cách giải quyết đề xuất đều giống nhau như những người bạn mô tả:

  • swap import statements
  • remove static import and use fully qualified name
Các vấn đề liên quan