DDS Java 示例引发大量警告“在未检查异常的情况下进行 JNI 调用”
Posted
技术标签:
【中文标题】DDS Java 示例引发大量警告“在未检查异常的情况下进行 JNI 调用”【英文标题】:DDS Java Example throws tons of warnings "JNI call made without checking exceptions" 【发布时间】:2020-12-15 12:56:17 【问题描述】:当我运行 Java 示例 OpenDDS-3.14.1/java/tests/messenger 时,我收到大量这样的消息:
本机方法中的警告:在需要从 CallStaticObjectMethodV 进行 JNI 调用时未检查异常。
我在 Mac 上使用 openjdk 11.0.9.1 2020-11-04 LTS。但是我在 Linux 上也收到了同样的警告。
只是在示例中处理得不好? 还是在 DDS-Java-Wrapper 中处理不好? 我必须管理我还没有阅读任何开发者文档...
【问题讨论】:
【参考方案1】:JNI 允许 Java 和本机 C++ 代码相互交互。 OpenDDS 的 JNI 代码并没有像它应该的那样检查 Java 异常,这就是警告的内容。它们出现在我能看到的所有 Java 测试中,但显然它们被报告错误和警告的系统忽略了。我认为他们出现是因为-Xcheck:jni
is one of the java
arguments in the test script framework。因此,如果您取出我链接的文件的那个参数或直接运行 java
而不使用该参数,则不应出现警告。
【讨论】:
以上是关于DDS Java 示例引发大量警告“在未检查异常的情况下进行 JNI 调用”的主要内容,如果未能解决你的问题,请参考以下文章