【问题标题】:Organize Java Imports programmatically以编程方式组织 Java 导入
【发布时间】:2012-08-29 16:23:59
【问题描述】:

我为我的 Android 应用编写了一个自定义构建脚本。我包括了一些“简单”的预处理,所以我可以定义 cmets 像

//#ifdef something
... CODE
//#endif

如果这样配置,则去掉代码部分。问题是,在预处理之后我不再需要一些模块,所以我把它们排除在外。如果我想最终构建应用程序,剩下的就是那个咬我的模块的导入语句。我正在我的预处理中寻找一种方法,在预处理发生后组织我的脚本中的 java Imports。任何不需要额外“点击”的解决方案都非常受欢迎。

【问题讨论】:

  • 如果您要从中导入的库在应用程序的其他位置使用,则不会对额外的导入造成重大损失。也就是说,Java 代码中预处理器的整个概念似乎完全是个坏主意。
  • @corsiKa 有 no 额外导入的运行时惩罚。导入仅在编译期间处理。
  • @Steve 没有显着编译时间损失如果库在其他地方使用。额外导入的唯一真正重大损失是将库加载到编译器中。实际上在导入语句中使用它们非常低。因此,如果一个文件中不再需要 import 语句,但另一个文件中需要它来自的库,则保留 import 语句不会显着增加编译时间。
  • 你没事。这里的问题是该库没有在其他地方使用,所以我什至没有将它的源代码复制到项目中。因此编译中断,因为它有一个导入,编译器找不到它的任何类

标签: java android import preprocessor


【解决方案1】:

有时您确实需要预处理器(非常少见)。但是您实际上可以通过正确的构建过程实现相同的目标。

回到你可以使用下一个技术的问题:

//#ifdef something
... IMPORTS
//#endif

【讨论】:

  • 舒尔,这很好,只要某些开发人员没有制作“organizeImports”,这实际上会删除导入中的 cmets
【解决方案2】:
猜你喜欢
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 2021-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多