无法开始使用JNA

问题描述 投票:0回答:1

我刚刚在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
jna
1个回答
0
投票

作为您发布的Getting Started链接,

Java本机访问(JNA)具有单个组件jna.jar;的jar文件中包含支持本机库(jnidispatch)的文件。...首先下载最新版本的JNA并进行引用项目的CLASSPATH中的jna.jar。

您没有包括jna.jar,而是包括了用户提供的到各种平台的映射jna-platform.jarlink 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”以获取更多指导。

© www.soinside.com 2019 - 2024. All rights reserved.