首页 > 解决方案 > DDS Java 示例引发大量警告“在未检查异常的情况下进行 JNI 调用”

问题描述

当我运行 Java 示例 OpenDDS-3.14.1/java/tests/messenger 时,我收到大量这样的消息:

本机方法中的警告:当需要从 CallStaticObjectMethodV 进行 JNI 调用时,未检查异常。

我在 Mac 上使用 openjdk 11.0.9.1 2020-11-04 LTS。但是我在 Linux 上得到了同样的警告。

只是在示例中处理得不好吗?
还是在 DDS-Java-Wrapper 中处理得不好?
我必须管理我还没有阅读任何开发人员文档......

标签: opendds

解决方案


JNI 允许 Java 和本机 C++ 代码相互交互。OpenDDS 的 JNI 代码并没有像它应该的那样检查 Java 异常,这就是警告的内容。它们出现在我能看到的所有 Java 测试中,但显然它们被报告错误和警告的系统忽略了。我认为它们出现是因为-Xcheck:jnijava测试脚本框架中的论据之一。因此,如果您取出我链接的文件的该参数或在java没有该参数的情况下直接运行,则不应出现警告。


推荐阅读