java - 对源代码的编译后自定义操作?

标签 java eclipse automation build-process

我需要之前对我的代码进行编译过程*.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/

相关文章:

java - 无法分配超过 1397mb 的 JVM 堆

java - 为 Junit 测试包装多行字符串

macos - 视觉识别鼠标单击自动化实用程序?

java - 从 cmd 运行时 Spring Boot 加载测试数据库

mysql - 自动运行 Toad Edge 查询并通过电子邮件发送结果

javascript - 无法使用带有 PageFactory 的 Selenium Java 选择下拉元素

java - 为什么线程优先级不起作用?

java - Spring Boot @ExceptionHandler 隐藏异常名称

java - 值无法转换为 JSON 数组

java - 在 Eclipse 中控制编译器选项