非法的反射访问操作会阻止程序运行吗?

Hay*_*ydn 1 java apache-flink

我正在开发一个使用 java 和 flink 构建推文数据流的项目。当我运行程序时,我收到此错误:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.flink.core.memory.HybridMemorySegment (file:/home/haydn/.m2/repository/org/apache/flink/flink-core/1.4.2/flink-core-1.4.2.jar) to field java.nio.Buffer.address
WARNING: Please consider reporting this to the maintainers of org.apache.flink.core.memory.HybridMemorySegment
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)

该程序似乎在之后运行,所以我只是想知道这个错误是否意味着任何事情都不会按预期工作,或者一切都会好起来。

我注意到其他帖子中人们就如何隐藏消息提出了建议,这就是为什么我认为这并不重要。

谢谢 :)

Iva*_*van 5

所以我只是想知道这个错误是否意味着任何事情都不会按预期工作,或者一切都会好起来。

要检查这一点,您需要为您的应用程序编写测试。由于这只是一个警告,因此它本身不应破坏您的应用程序。

警告:在未来的版本中将拒绝所有非法访问操作

这意味着您的应用程序现在可以运行,但是一旦您将 JDK 升级到新版本,它将停止运行。由于 Java 9 中引入的模块概念,public访问修饰符与之前的 Java 版本具有不同的含义。上面的警告意味着 Flink 库之一的代码尝试访问java.nio.Buffer.address未导出到该模块的属性。