Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将预编译指令传递给javac?_Java_Javac - Fatal编程技术网

将预编译指令传递给javac?

将预编译指令传递给javac?,java,javac,Java,Javac,我正在编写一个桌面和j2me应用程序。我在程序中有调试语句。目前,为了避免编译这些文件,我使用如下方法。我们这样做是为了减小罐子的大小。(专门针对移动设备) 但这是一种硬编码。有没有像C这样的有预编译指令的替代方案。你能帮我吗?或者其他我应该查找的东西?不,Java中没有预编译,但是不要像您当前使用的那样使用常量文件,而是尝试使用Log4j或其他支持isDebugEnabled()操作的日志记录包。这将避免使用配置文件或VM参数进行硬编码。注释可以工作,或者您可以查看AOP。AOP允许您在特定点

我正在编写一个桌面和j2me应用程序。我在程序中有调试语句。目前,为了避免编译这些文件,我使用如下方法。我们这样做是为了减小罐子的大小。(专门针对移动设备)


但这是一种硬编码。有没有像C这样的有预编译指令的替代方案。你能帮我吗?或者其他我应该查找的东西?

不,Java中没有预编译,但是不要像您当前使用的那样使用常量文件,而是尝试使用Log4j或其他支持isDebugEnabled()操作的日志记录包。这将避免使用配置文件或VM参数进行硬编码。

注释可以工作,或者您可以查看AOP。AOP允许您在特定点自动将代码插入到方法中。无论哪种方法都能得到你想要的。

我得到了我想要的确切答案。预处理器。与建议的HATCHTMAN82类似,有WTKPREPRESS任务可用。它是专门为移动设备开发的。(尽管它也可以用于其他java部件。)并且它工作得非常完美。它注释掉了行,所以字节码仍然较轻

ConstantFile.java
Boolean ConstantFile.DebugEnabled = false;

if(ConstantFile.DebugEnabled) {
log.debug("msg");
}