最近,我正在将我的项目从JDK 11升级到JDK 17。升级之后,powermock似乎出现了问题。运行AUT时,我收到以下错误:
java.lang.RuntimeException: PowerMock internal error: Should never throw exception at this level
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module @3fc34119
您知道解决这个问题的方法吗?如果是的话,请提供解决方案。
发布于 2022-02-21 08:47:12
作为一个停止间隙度量(直到Powermock更新),您应该能够通过向JVM传递以下参数来运行您的测试:
--add-opens java.base/java.lang=ALL-UNNAMED
如果您正在使用Maven
运行测试,您可以按照以下方式配置surefire-plugin
:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${plugin.surefire.version}</version>
<configuration>
<argLine>--add-opens java.base/java.lang=ALL-UNNAMED</argLine>
</configuration>
</plugin>
https://stackoverflow.com/questions/69896191
复制相似问题