gpt4 book ai didi

gradle - 当我需要二进制库文件 (JInput) 时,如何构建和运行我的 gradle 项目?

转载 作者:行者123 更新时间:2023-12-03 06:25:23 27 4
gpt4 key购买 nike

我正在尝试使用 JInput对于我的项目,库需要一些二进制文件才能运行我的应用程序。

我发现,所需的二进制文件在库中。但是,我还是得到了 UnsatisfiedLinkError当做 gradle run因为它找不到库二进制文件。

所以我想我需要解压库.jar在运行项目之前?如何使用包含 native 二进制文件的库?

这是我的build.gradle

plugins {

id "java"
id "application"
}

repositories {

mavenCentral()
}

dependencies {

// https://mvnrepository.com/artifact/net.java.jinput/jinput
compile group: 'net.java.jinput', name: 'jinput', version: '2.0.7'
}

编辑:在这里你可以看到图书馆的内容

...

最佳答案

是的,还有一个额外的步骤。我按照以下说明进行操作:
Getting started with JInput

您在 gradle 文件中链接的 JInput 依赖项仅设置可以访问哪些方法/类的 API。这些的实际机器代码在动态链接库中...... DLL,即二进制文件。

首先下载 DLL:JInput DLL download入一个文件夹。

然后使用命令行参数( -Djava.library.path= "C:/pathToLibrary" 或通过在创建需要它的类之前调用​​以下方法来动态链接到该文件夹​​的路径。

public static void setDllLibraryPath(String resourceStr) {
try {
System.setProperty("java.library.path", resourceStr);
//System.setProperty("java.library.path", "/lib/x64");//for example

Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths");
fieldSysPath.setAccessible(true);
fieldSysPath.set(null, null);//next time path is accessed, the new path will be imported
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}

关于gradle - 当我需要二进制库文件 (JInput) 时,如何构建和运行我的 gradle 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48783053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com