Java .dll文件在.jar中不起作用

时间:2018-06-19 11:45:48

标签: java dll

我试图通过使用来自“ net.java.games.input”的第三方库来监听Java中的键盘事件。当我在Eclipse中运行代码时,它可以正常工作。但是,当我构建项目并运行.jar时,却没有。我猜的原因是,该库需要一些.dll文件来侦听我的键盘,但它们无法在.jar中工作。

这是我的代码示例;

ControllerEnvironment ce = ControllerEnvironment.getDefaultEnvironment();
Controller[] ca = ce.getControllers();

那么,我应该怎么做才能在.jar中完成这项工作?

谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

所以您的问题与此相关

JInput "no jinput-dx8 in java.library.path" Error

  

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

     

回答了2010年1月12日19:48

     

axtavt 198k31421427

您也可以在主要开始时这样做

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