我正在尝试将JNA集成到JDK 1.3应用程序中.JNA页面有以下主题:
1.4或更高版本的JVM支持(早期的VM可以使用存根NIO支持)
我已经设法通过删除所有java.nio引用将JNA源代码移植到JDK 1.3.我不需要例如java.nio.Buffer.
但是,JNA DLL被编译为使用Java NIO类型并且抱怨:
JNA:加载核心ID时出现问题:java.nio.Buffer
我需要做些什么才能使JNA在JDK 1.3中运行?这"可能与存根NIO支持有关"是什么意思?
我唯一的选择是从C源代码中存根NIO并重新编译DLL吗?因为我根本不擅长C编程,所以我拼命想避免它.
是否有其他方法在Java中调用本机DLL(不是JNI,称为DLL是封闭源和JNI不兼容).
文档建议你写一些假java.nio
类,并把它们放在bootclasspath
- 然后不要使用任何需要的东西java.nio
.您不应该修改JNA源或编辑本机代码.