Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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
Java 如何删除.class文件中的调试信息(使用xtend 2.x)_Java_Xtend_Mwe - Fatal编程技术网

Java 如何删除.class文件中的调试信息(使用xtend 2.x)

Java 如何删除.class文件中的调试信息(使用xtend 2.x),java,xtend,mwe,Java,Xtend,Mwe,我注意到,当我将xtend从1.20更新到2.0时,.class文件要大得多。我看到的一个不同之处是.class文件中有调试信息,我并不真正关心这些信息。.class文件中还有一个名为SMAP的附加条目 我正在使用MWE2工作流生成.class文件。 有没有办法禁用此功能?您可以使用javac的-g:none参数编译以不生成调试信息。这也会阻止生成源映射。xtend2.x被编译为Java源代码,其中xtend1.x是一种解释语言。编译到Java具有运行时性能显著提高以及与其他JVM语言无缝集成的

我注意到,当我将xtend从1.20更新到2.0时,.class文件要大得多。我看到的一个不同之处是.class文件中有调试信息,我并不真正关心这些信息。.class文件中还有一个名为SMAP的附加条目

我正在使用MWE2工作流生成.class文件。
有没有办法禁用此功能?

您可以使用javac的
-g:none
参数编译以不生成调试信息。这也会阻止生成源映射。

xtend2.x被编译为Java源代码,其中xtend1.x是一种解释语言。编译到Java具有运行时性能显著提高以及与其他JVM语言无缝集成的优势。为了允许调试Xtend,还将SMAP信息安装到字节码中。有了它,您可以选择是调试生成的Java源代码还是直接调试Xtend代码。如果出于某种原因而专注于较小的类文件,则可能需要安装Xtend作为主要源信息。这将删除Java调试信息,只保留Xtend调试信息的一小部分。您可能还希望从类文件中删除所有合成局部变量。在
Xtend->compiler

下检查您的Eclipse编译器设置是否有特定的原因要删除它?在这方面花多少时间值得?如果您要升级,也许您应该使用Java 8,因为Java 7是公共更新的结束。如何将xtend安装为主要源信息?解除调试时,我在xtend->compiler->ignore generated Java source下的设置。已勾选“在调试器中隐藏合成局部变量”,但该选项为灰色(已禁用)。必须选择“忽略生成的Java源”。只有在调试时忽略java源代码,才能隐藏synth变量