Я пытаюсь интегрировать JNA в приложение JDK 1.3. На страницах JNA есть следующие темы:
Поддерживается в 1.4 или более поздних версиях JVM.
(более ранние виртуальные машины могут работать с заглушенным NIO
поддержка)
Мне удалось портировать источники JNA на JDK 1.3, удалив все ссылки на java.nio. Мне не нужен например java.nio.Buffer.
Однако библиотеки JNA DLL скомпилированы для использования типов Java NIO и жалуются:
JNA: проблемы с загрузкой идентификаторов ядра:
java.nio.Buffer
Что мне нужно сделать, чтобы JNA работала в JDK 1.3? Что означает это «может работать с поддержкой NIO»?
Является ли мой единственный способ заглушить NIO из исходного кода C и перекомпилировать DLL? Так как я совсем не разбираюсь в программировании на C, я отчаянно пытаюсь избежать этого.
Существует ли какой-либо другой способ вызова нативной DLL в Java (не JNI, называемые DLL с закрытым исходным кодом и несовместимые с JNI).