我正在编写桌面和j2me应用程序。我在程序中有调试语句。目前为了避免那些被编译我使用如下。我们这样做是为了减少jar的大小。 (专门针对移动设备)
ConstantFile.java
Boolean ConstantFile.DebugEnabled = false;
if(ConstantFile.DebugEnabled) {
log.debug("msg");
}
但这有点难以编码。有没有像C这样的替代方案我们有预编译的指令。注释可以帮到这里吗?或者其他我应该寻找的东西?
答案 0 :(得分:2)
不,Java中没有预编译,但是不使用您当前使用的常量文件,请尝试使用Log4j或其他支持isDebugEnabled()操作的日志包。这将避免硬编码支持配置文件或VM参数。
答案 1 :(得分:0)
注释可以工作,或者您可以查看AOP。 AOP允许您在特定点自动将代码插入到方法中。无论哪种方式都可以得到你想要的东西。
答案 2 :(得分:0)
我得到了我想要的确切答案。预处理。类似于hatchetman82建议,有wtkpreprocess任务可用。它专门为移动设备开发。 (虽然它也可以用于其他java部分。)它完美无缺。它注释掉行,因此字节代码仍然较轻。