导入 -> "找不到符号" |完全限定名称 ->完美



我有一个内部类,它扩展了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构建时才会出现错误。

你知道这种奇怪行为的原因是什么吗?

错误是由我的进口订单引起的。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();
       }
       ...
   }
...
}

当我将MyTableListener导入放在AbstractTableModel导入之前时,Gradle会出现找不到符号错误。

当我把AbstractTableModel导入放在MyTableListener导入之前时,一切都很好。

到目前为止还不错,但是为什么在使用Eclipse构建时导入顺序不是问题呢?!

最新更新