长话短说,我必须在运行时为特定测试设置一个环境。
这里的答案很好用,我正在使用这个。问题是我收到此警告:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by **YOUR PACKAGE** (file: **YOUR FILE** ) to field java.util.Collections$UnmodifiableMap.m
WARNING: Please consider reporting this to the maintainers of **YOUR PACKAGE**
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Run Code Online (Sandbox Code Playgroud)
我已经开始寻找解决方案,这里的另一个 SO 答案“解决”了单元测试的问题,使用相同的方法设置环境变量。
我正在谈论来自他们的 Github 源代码的这行代码,它触发了这个错误。( field.setAccessible(true);)
所以看起来除了设置给定的标志之外没有其他方法可以解决这个问题,就像警告所建议的那样。
然后我想知道这个警告是否严重,以及我的程序是否会在几个月内运行(我使用的是 OpenJDK 11)。事实证明,这个illegal-access …