问题:编译保持参数名不变-parameters?
之所有这个问题,是因为 java 编译默认会把参数名变掉(类似于混淆)。引入 solon-parent 可避免此问题。
<!-- 注意:引入 solon-parent,可省去很多细节配置 -->
<parent>
<groupId>org.noear</groupId>
<artifactId>solon-parent</artifactId>
<version>2.9.3</version>
<relativePath />
</parent>
也有同学不想引入的,可参考下面手动开启编译参数!(被混淆的类在哪个模块,就在哪加)
1、Java 项目
- Java maven 项目
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<compilerArgument>-parameters</compilerArgument>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
- Java gradle 项目
compileJava {
options.encoding = 'UTF-8'
options.compilerArgs << "-parameters"
}
2、Kotlin 项目
- kotlin maven 项目
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<configuration>
<args>
<arg>-java-parameters</arg>
</args>
</configuration>
</plugin>
- Kotlin gradle 项目
在 build.gradle 的 compileKotlin 配置:
compileKotlin {
kotlinOptions {
jvmTarget = '1.8'
javaParameters = true //保持参数名不变
}
}