gradle在IDEA中使用了JDK17运行springboot3.x等程序的时候使用了反射或ASM等会报错:module java.base does not “opens java.lang” to unnamed module,可以通过在IDEA中设置JVM参数解决此问题:

--add-opens java.base/java.lang=ALL-UNNAMED  --add-opens java.base/java.lang.reflect=ALL-UNNAMED

对于单元测试程序,设置了此参数无效,只能通过修改gradle.build脚本解决此问题,在gradle.build中添加如下配置即可:

    test {
        useJUnitPlatform()
//        jvmArgs('--illegal-access=deny')
        jvmArgs('--add-opens', 'java.base/java.lang=ALL-UNNAMED')
        jvmArgs('--add-opens', 'java.base/java.lang.reflect=ALL-UNNAMED')
    }

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐