1

我对编程很陌生,所以这应该很容易。我正在从 eclipse 切换到 netbeans,并且正在尝试将 libjinput-osx.jnilib 添加到我的工作目录中。我有 eclipse 的分步说明,但没有 netbeans。我大约有 2.5 小时和 65 次谷歌搜索,但我仍然找不到这两个基本问题的答案。

  1. java中的工作目录到底是什么?
  2. 如何将 .jnilib 文件添加到 netbeans 中的工作目录?

我的最终目标是获得一个 xbox 控制器来控制我写的蛇游戏。我正在尝试使用 JInput 和本教程。为了在 OSX 上正确编译,我需要将 libjinput-osx.jnilib 放在“工作目录”中。

4

3 回答 3

7

“工作目录”是应用程序在其中工作的位置......神秘吧;)

通常它是应用程序的启动位置,尽管这可以通过标志和其他过程进行修改。

在 Netbeans 中,工作目录通常是项目的根目录(其中包含srcandnbproject文件夹),但这可以通过项目属性进行更改。

在运行时找到工作目录的最简单方法之一(这对测试很有用)是做一些事情,比如......

System.out.println(new File(".").getAbsolutePath());
于 2012-12-04T03:45:54.853 回答
3

这个问题有两个方面。

当您从命令行运行命令时,“工作目录”是您运行命令时所在的目录。您正在阅读的说明说将本机库放在那里,因为 Java 对本机库的默认搜索路径包括当前目录。或者,您可以-Djava.library.path=...在命令中添加一个选项以java明确设置搜索路径。

当您从 Eclipse ... 或 NetBeans ... 中运行命令时,IDE 的启动器将设置适当的 JVM 参数以在搜索路径中包含项目的本机库目录。您需要将库放在那个目录中。 此 wiki 页面解释了您需要为 NetBeans 执行哪些操作。

于 2012-12-04T03:57:24.797 回答
0

看起来您真正想做的是加载本机库。试试这个:

public class MainClass {
    static {
        System.loadLibrary( "Your_native_lib_file_name" ); // Note: do not include the file extension!
    }
}

您也可以尝试 -Djava.library.path=/exact/path/to/dir/

从这里复制的答案: Java 似乎找不到我的本机库

于 2012-12-04T03:49:54.913 回答