Java编译器自动重命名参数(混淆)

当我编译我正在编写的代码时,然后在JD Gui中查看,方法显示如下所示的标题:

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

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

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

使用-g标志编译代码:

 javac -g SomeClass.java 

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