### jdk17 - jdk25
如果出现反射权限问题。可在运行时添加jvm参数：`--add-opens` （取消了 illegal-access 参数）
 
```shell
#示例：
java --add-opens java.base/java.lang=ALL-UNNAMED -jar xxx.jar
```

```shell
#示例：（添加多个 add-opens）
java --add-opens java.base/java.lang=ALL-UNNAMED \
     --add-opens java.base/java.util=ALL-UNNAMED \
     -jar xxx.jar
```

也可以在编译时添加编译参数（运行时就不用加了）：

```xml
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <annotationProcessorPaths>
        <compilerArgs>
            <arg>--add-opens</arg>
            <arg>java.base/java.lang=ALL-UNNAMED</arg>
            <arg>--add-opens</arg>
            <arg>java.base/java.util=ALL-UNNAMED</arg>
        </compilerArgs>
    </configuration>
</plugin>
```


### jdk12 - jdk16
如果出现反射权限问题。可添加jvm参数：`--illegal-access=permit` （默认为 deny ）

```shell
#示例：
java --illegal-access=permit -jar xxx.jar
```


### jdk9 - jdk11
没有反射权限问题 。默认为 `--illegal-access=permit` 


```shell
#示例：
java -jar xxx.jar
```