问题:--illegal-access=permit
原因:java版本太高,安全限制。
从 Java 16 开始,JEP 396会默认把--illegal-access
参数设置为deny
,即默认禁用访问封装的包以及反射其他模块,这样就会导致上面的异常,在此之前该参数默认值一直都是--illegal-access=permit
,只会产生警告,而不会报错,所以如果是 Java 16 的话需要在执行 Java 程序时把--illegal-access
设置为permit
,这样就可以解决问题,示例:
java -jar --illegal-access=permit app.jar
从 Java 17 开始就更狠了,JEP 403直接把--illegal-access
参数移除了,如果需要启用访问封装的包,需要在执行 Java 程序时加上--add-opens java.base/java.lang=ALL-UNNAMED
选型,示例:
java -jar --add-opens java.base/java.lang=ALL-UNNAMED app.jar
解决:
1.看到那个zhu册机上的run按钮,把它的命令复制下来
2.将命令中的 "java"、jar包 转成绝对路径,并加上 "--illegal-access=permit" 参数
"C:\Users\test\Downloads\BurpSuite2022\jre\bin\java" --illegal-access=permit -noverify -javaagent:BurpSuiteLoader.jar -jar burpsuite_pro_org.jar