我可以看到 Checkstyle 信息,上面写着 -
Wrong order for import, org.apache.log4j.Logger
。我无法获得太多关于为什么我得到这个的信息。任何帮助,将不胜感激。下面是代码片段:
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.apache.log4j.Logger;
import com.company.department.team.test.Configuration;
ctrl+shift+o
(组织导入)将使 Eclipse 正确排序您的导入。
有一个约定,应根据该约定对导入进行排序,而 checkstyle 告诉您您尚未按该顺序列出导入。
ImportOrder
部分阅读更多相关信息:
检查导入的排序/分组。特点是:
- groups 导入:确保导入组按特定顺序出现(例如,java. 首先,javax. 第二,然后是其他所有)
- 在组之间添加分隔:确保每个组之间有一个空行
- 对每个组内的导入进行排序:确保每个组内的导入按字典顺序排列
- 根据大小写排序:确保导入之间的比较区分大小写
- 对静态导入进行分组:确保常规导入和静态导入之间的相对顺序(参见导入顺序)
您还可以修改您的检查文件以遵循 Eclipse 默认情况下的操作。您需要更改模块“CustomImportOrder”并更改“customImportOrderRules”。
请参阅 http://checkstyle.sourceforge.net/config_imports.html#CustomImportOrder 了解如何进行更多自定义。
这是我目前正在使用的:
<module name="CustomImportOrder">
<property name="specialImportsRegExp" value="gov." />
<property name="sortImportsInGroupAlphabetically" value="true" />
<property name="customImportOrderRules"
value="STATIC###SPECIAL_IMPORTS###STANDARD_JAVA_PACKAGE###THIRD_PARTY_PACKAGE" />
</module>
查看
Preferences > Java > Code Style > Organize Imports
以配置 Source > Organize Imports
命令使用的排序顺序和分组(Ctrl+Shift+O,在 OS X 上为 Cmd+Shift+O。
对我来说,解决这个问题的方法是按字母顺序排列导入。例如,
import com.company.department.team.test.Configuration;
应该位于顶部。
对于 Mac 来说是 ctrl+options+o。
您需要更改设置,从代码样式> java,如下所示
勾选使用单类导入
使用“*”导入的类计数使其非常高,例如 100
勾选单独使用静态导入。