我有一个内部类,它扩展了AbstractTableModel。
import javax.swing.table.AbstractTableModel;
public class MyClass extends MyAbstractClass {
...
public static class MyTableModel extends AbstractTableModel {
}
...
}
编译器给出了以下错误。
...\MyClass.java:190: error: cannot find symbol
public static class MyTableModel extends AbstractTableModel {
^
symbol: class AbstractTableModel
location: class MyClass
更改时
MyTableModel extends AbstractTableModel
到
MyTableModel extends javax.swing.table.AbstractTableModel
一切正常。
我使用Gradle来构建项目。在我切换到Gradle之前,我使用Eclipse来构建项目。我没有Eclipse的问题,只有在我使用Gradle构建时才会出现错误。
你知道这种奇怪行为可能是什么原因吗?
答案 0 :(得分:4)
错误是由我的导入订单造成的。 MyTableModel包含一个MyTableListener接口,该接口也由MyClass.java导入。
import MyClass.MyTableModel.MyTableListener;
...
import javax.swing.table.AbstractTableModel;
...
public class MyClass extends MyAbstractClass {
...
public static class MyTableModel extends AbstractTableModel {
public interface MyTableListener {
public void entryChanged();
}
...
}
...
}
当我在AbstractTableModel导入之前放入MyTableListener导入时Gradle给我找不到符号错误。
当我在MyTableListener导入之前放入AbstractTableModel导入时,Everythings工作正常。
到目前为止一切顺利,但为什么在使用Eclipse构建时导入顺序不成问题?!