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

时间:2015-06-09 08:03:15

标签: java xtend mwe

我注意到当我将xtend从1.20更新到2.0时,.class文件明显更大。我看到的一个区别是.class文件中有调试信息,我并不真正关心。在.class文件中还有一个名为SMAP的附加条目。

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

2 个答案:

答案 0 :(得分:3)

您可以使用javac' -g:none参数进行编译,以生成无调试信息。这也应该阻止生成源地图。

答案 1 :(得分:0)

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