Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用MethodHandles远程运行单元测试时出现意外异常_Java_Maven_Reflection - Fatal编程技术网

Java 使用MethodHandles远程运行单元测试时出现意外异常

Java 使用MethodHandles远程运行单元测试时出现意外异常,java,maven,reflection,Java,Maven,Reflection,测试中的以下代码行 var lookup = MethodHandles.privateLookupIn(Field.class, MethodHandles.lookup()); 其中字段是java.lang.reflect.Field 抛出 如果测试在本地运行(通过IDE或maven生命周期),那么代码可以正常工作,但在远程主机上的CI管道上的maven测试运行失败 Maven是为Java11配置的,但是我们在日志中看到的测试执行是使用openjdk-16JVM的 如果您有任何关于查找位置

测试中的以下代码行

var lookup = MethodHandles.privateLookupIn(Field.class, MethodHandles.lookup());
其中字段是java.lang.reflect.Field 抛出

如果测试在本地运行(通过IDE或maven生命周期),那么代码可以正常工作,但在远程主机上的CI管道上的maven测试运行失败

Maven是为Java11配置的,但是我们在日志中看到的测试执行是使用openjdk-16JVM的


如果您有任何关于查找位置的想法,我们将不胜感激。

Java16将默认值
--非法访问
更改为
拒绝
。请看@JohannesKuhn,在这种情况下,什么是最合适的修复/解决方法?不要做这样的事情?我真的很喜欢这样一句话:“这意味着JDK的所有内部元素都将被严格封装,除了关键的内部API,如sun.misc.Unsafe。”这意味着,我们终于让这个房子安全了,但一如既往,别忘了把总钥匙放在门垫下面。
java.lang.IllegalAccessException: module java.base does not open java.lang.reflect to unnamed module @497470ed
    at java.lang.invoke.MethodHandles.privateLookupIn(MethodHandles.java:260) ~[?:?]