当我编译正在编写的代码时,然后在JD Gui中查看,方法显示出带有诸如以下内容的 header :

public void growSurface(Random paramRandom, int paramInt1, int paramInt2){

我正在通过.bat文件进行编译。有没有一种方法可以指定我不想混淆代码。

最佳答案

默认情况下,javac在生成的class文件中不包含调试信息。该信息例如是方法参数名称(但始终存储方法和字段名称以允许反射)。当参数名称未知时,JD-GUI和其他反编译器将组成一些合理的名称。它们不会被混淆-只是它们不在那里。

使用-g标志编译代码:

javac -g SomeClass.java

刚刚检查了JD-GUI-然后显示正确的参数名称。

关于Java编译器自动重命名参数(混淆),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11041506/

10-15 10:41
查看更多