我需要之前对我的代码进行编译过程*.java
对它们进行一些操作
应用于目标文件
而不是源文件
例如一个 Action
注释所有 System.out.println("");
语句
需要在没有打印语句的情况下生成的输出目标文件
但我的源代码文件
仍然带有打印语句
注意:在 Eclipse
IDE 下开发
最佳答案
您确定您使用的工具适合您的任务吗?
使用static final boolean
变量来控制是否应该执行某些代码片段要简单得多。您可以将该值安排为编译时间常数;在这种情况下,通过该标志禁用的代码甚至不存在于生成的字节代码中。但它也可能是运行时配置,例如
static final boolean DEBUG = Boolean.getBoolean("myapp.debug");
…
if(DEBUG) System.out.println(something);
在这种情况下,命令行选项-Dmyapp.debug=true
可以启用打印输出。
这些变体之间没有性能差异(以及您的预处理方法)。 JIT 足够智能,可以在运行时消除所有条件代码。
关于java - 对源代码的编译后自定义操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18440508/