opendds - 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 中处理得不好?
我必须管理我还没有阅读任何开发人员文档......
解决方案
JNI 允许 Java 和本机 C++ 代码相互交互。OpenDDS 的 JNI 代码并没有像它应该的那样检查 Java 异常,这就是警告的内容。它们出现在我能看到的所有 Java 测试中,但显然它们被报告错误和警告的系统忽略了。我认为它们出现是因为-Xcheck:jni
是java
测试脚本框架中的论据之一。因此,如果您取出我链接的文件的该参数或在java
没有该参数的情况下直接运行,则不应出现警告。
推荐阅读
- java - 嵌套ifs或ands?
- python - Python 多个子正则表达式
- algorithm - 停止后台服务的跨平台方案
- python - 为什么 numpy.save 为 sys.getsizeof 0.33MB 数据生成 100MB 文件?
- ffmpeg - 编码为 h264 无法使用 ffmpeg c api 发送一些帧
- reactjs - 如何使用 react-router 在组件中保存表单的状态
- python - 根据两个条件删除行
- angular - 以角度发布来自 API 的显示数据
- javascript - fetchAll 在 Javascript 中导致“无法读取属性”错误
- c - .c 文件中的静态函数/变量