Java.dll文件在.jar中不工作

Java.dll文件在.jar中不工作,java,dll,Java,Dll,我试图通过使用“net.Java.games.input”中的第三方库来监听Java中的键盘事件。当我在Eclipse中运行代码时,它工作得很好。但是当我构建我的项目并运行.jar时,它并没有。我猜原因是,库需要一些.dll文件来监听我的键盘,但它们在.jar中不起作用 下面是我的代码示例 ControllerEnvironment ce = ControllerEnvironment.getDefaultEnvironment(); Controller[] ca = ce.getContro

我试图通过使用“net.Java.games.input”中的第三方库来监听Java中的键盘事件。当我在Eclipse中运行代码时,它工作得很好。但是当我构建我的项目并运行.jar时,它并没有。我猜原因是,库需要一些.dll文件来监听我的键盘,但它们在.jar中不起作用

下面是我的代码示例

ControllerEnvironment ce = ControllerEnvironment.getDefaultEnvironment();
Controller[] ca = ce.getControllers();
那么,我应该怎么做才能在.jar中工作呢


谢谢。

您可以使用
System.loadLibrary()
让JVM加载您的dll或
System.load()
从特定路径加载文件:

static {
    System.load("PATH/TO/file.dll");
}

所以你的问题与此相关

您应该将java.library.path属性设置为指向目录 包含JInput的本机DLL。您可以通过添加 -Djava.library.path=x(其中x是您的路径),指向Eclipse中“运行配置”对话框的命令行或“VM参数”字段

于2010年1月12日19:48回复

axtavt 198K31427

你也可以在你的主要任务开始时这样做


System.setProperty(“java.library.path”,System.getProperty(“java.library.path”)+“thePathOfYourDll”)

我看了一下你的库(这里:),我没有看到涉及到dll,甚至它在linux上也可以工作,所以我很确定它们没有,我认为这更多是一个构建问题。如何生成jar?你能做一个失败或异常抛出的简单代码示例吗?@ArnaultLePrévost Corvellec当我在没有.dll文件的情况下运行代码时,我得到了这个异常;java.lang.UnsatifiedLink错误:java.library.path中没有jinput-dx8_64如果eclipse没有自动执行此操作,您的问题将是相同的^^