在netbeans中为.dll / .so文件提供'java.library.path'

时间:2012-05-23 06:45:59

标签: java netbeans library-path

如何为netbeans中的.dll.so文件提供路径以使用

加载库
System.loadLibrary("Foo")

我看了this on netbeans page but couldn't help me.,因为它给出了不满意的链接错误。

这是我尝试过的两件事:

在以下快照中,我在netbeans项目中创建了一个lib文件夹,并在其中放置了dll个文件。

enter image description here

在第二个快照中,我在lib文件夹中创建了一个modules文件夹,并将所有dll个文件放在lib文件夹中,如link中所述

enter image description here

但他们都给我unsatisfied link error例外。如何在netbeans中设置java.library.path,以便我可以直接从netbeans测试应用程序, 无需去终端写字?

4 个答案:

答案 0 :(得分:30)

现在正在工作。您可以使用Netbean IDE进行一些设置。仅限Netbean IDE。

按照步骤操作: -

==>Right click on the Project
==>Properties
==>Click on RUN
==>VM Options : -Djava.library.path="C:\Your Directory where Dll is present"
==>Ok

100%的工作。我在自己的项目中做到了这一点。

答案 1 :(得分:1)

我正在使用Mac OS X Yosemite和Netbeans 8.02,我得到了同样的错误,我发现的简单解决方案如上所述,当您需要在项目中包含本机库时,这非常有用。 Netbeans的下一步也是如此:

1.- Right click on the Project
2.- Properties
3.- Click on RUN
4.- VM Options: java -Djava.library.path="your_path"
5.- for example in my case: java -Djava.library.path=</Users/Lexynux/NetBeansProjects/NAO/libs>
6.- Ok

我希望它对某人有用。 我找到解决方案的链接在这里: java.library.path – What is it and how to use

答案 2 :(得分:1)

如果您正在使用“NetBeans Modules”

DLL或SO可以放在模块项目源中的文件夹release / modules / lib /中(查看“文件”选项卡)。这将使它们出现在模块的JAR所在的lib子目录下的最终NBM或应用程序中。然后像往常一样使用System.loadLibrary。

答案 3 :(得分:0)

对我来说JDeveloper的建议不起作用。然而,我在这个下午早些时候遇到的方法很方便。 它适用于netbeans 8.02,Visual Studio 2013生成了dll。

  1. 在netbeans的[Source Packages]节点下创建一个包(例如“dll”) 项目
  2. 将dll文件(例如,simpleDLL.dll)放入/复制到包中(例如, “dll”)
  3. 在netbeans项目的[Libraries]节点上,右键单击 并选择“添加Jar /文件夹...”,
  4. 导航到包含您在上面的步骤1中创建的包的文件夹(“dll”)的文件夹(“src”)(在我的示例中可能是“... \ src \ dll”),选择包文件夹(“dll”)并单击[打开]按钮将其选中。
  5. - 现在您应该将一个文件夹(“dll”)(包含dll文件{simpleDLL.dll})添加到项目的Libraries节点。

    就是这样。它应该工作! 祝你好运。