java 17 corretto:`--add-opens`不起作用

问题描述 投票:0回答:1

我正在尝试将 Spring Boot、Kotlin 项目从 8 迁移到 java 17。 我们正在使用一个通信框架,我现在试图保持原样。 该库使用反射来访问 URL.host 和 URL.authority 这会在运行时中断

java.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.String java.net.URL.host accessible: module java.base does not "opens java.net" to unnamed module @3857f613

我尝试将

--add-opens java.base/java.net=ALL-UNNAMED
添加到 java 命令行,但仍然引发异常。

corretto 还有其他设置吗?

谢谢, 阿莫斯

spring-boot reflection migration java-17 corretto
1个回答
0
投票

尝试使用 --add-opens java.base/java.net.URL=ALL-UNNAMED

例如,这是我在类似情况下的解决方案(对于surefire插件)

<argLine>
    --add-opens java.base/java.util.concurrent=ALL-UNNAMED
    --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
</argLine>
© www.soinside.com 2019 - 2024. All rights reserved.