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

How to remove debug information in its .class file (using xtend 2.x)

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

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

可以用javac的-g:none参数编译,不产生调试信息。这也应该可以防止生成 Source Map。

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

下的 Eclipse 编译器设置