我刚刚在Win10 x64上安装了Apache NetBeans IDE 11.1,JDK 13,openjfx-13和JNA-platform-5.4.0。我无法使用JNA达到一垒。以下代码在com.sun.jna.Native的import语句中将Native标记为未知符号。直接从https://github.com/java-native-access/jna/blob/master/www/GettingStarted.md
调用Native.load和import语句此屏幕快照显示了项目库列表1:
package jrailroad;
import com.sun.javafx.PlatformUtil;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.Kernel32Util;
import com.sun.jna.Native;
public class ComPort
{ // class ComPort
public int os;
public static final int OS_WINDOWS = 0; // a Windows platform
public Kernel32 k32 = null;
ComPort()
{ // ComPort.ComPort
os = -1;
if (PlatformUtil.isWindows())
{ // windows
os = OS_WINDOWS;
k32 = (Kernel32) Native.load("kernel32", Kernel32.class);
} // windows
} // ComPort.ComPort
} // class ComPort
答案 0 :(得分:1)
作为您发布的Getting Started链接,
Java本机访问(JNA)具有单个组件jna.jar;的 jar文件中包含支持本机库(jnidispatch)的文件。 ...首先下载最新版本的JNA并进行引用 项目的CLASSPATH中的jna.jar。
您没有包括jna.jar
,而是包括了用户提供的到各种平台jna-platform.jar
的映射。 link you noted in your comment包含两个文件的链接:
JNA
jna-5.4.0.jar
这是JNA的核心工件,仅包含绑定库 和核心帮助程序类。
JNA平台
jna-platform-5.4.0.jar
此工件保存跨平台映射和多个映射 常用平台功能,包括大量的Win32 映射以及一组简化本机的实用程序类 访问。
并且如注释中所述,当依赖项本身具有依赖项时,手动包含jar
文件会很快变得不可持续。您应该学习如何使用软件包管理器,例如Maven,Gradle或Ivy。您的IDE会为此提供一个过程,只需搜索“ netbeans maven”即可获得更多指导。