2011-11-26 176 views
5

我想尝试JNotify,这是用于观察文件系统更改的插件库,但无法弄清楚如何配置它。 JNotify的网页上说“java.library.path应指向jnotify(dll,so dylib等)附带的本地库的位置”。我对Mac OS X颇为陌生,并不知道如何去做。我使用的是NetBeans,希望有一种简单的方法将它添加到那里的路径中。我通过简单地将jar文件添加到项目中的Libraries节点并通过“import net.contentobjects.jnotify。*;”导入它,但没有任何帮助。我得到这个:在Mac OS X上进行JNotify?

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnotify in java.library.path 

它似乎我需要添加本机库(Mac我猜猜看.so文件)到相同的路径。

那么我该如何做到这一点?

回答

1

java.library.path是Java系统变量,你必须在启动程序时使用-D开关来设置这个特殊的一个:

java -Djava.library.path=/path/to/dylibs your.MainClass 

应该可以告诉NetBeans中添加一些命令行参数启动时你的程序在项目属性中的某处。

在OS X上,您需要的目录是.dylib文件所在的任何位置,而不是.so

+0

好吧,我没有单调忽略文档,我可能只是不理解它...我以为java。 library.path就像在Windows下的一个环境变量,并且你必须在Mac OS的某个地方设置它,但是我会尝试找到一种在NetBeans中设置命令行参数的方法,看看我能否使它工作。 – Anders

+0

如果我将它添加到项目>运行的虚拟机选项字段中,它就起作用了,谢谢! – Anders

+0

我认为默认设置是将库路径设置为某个环境变量,Windows上的PATH,Loonix上的LD_LIBRARY_PATH, m猜测在OS X上它会是'DYLD_LIBRARY_PATH',但是如果你需要为你的应用程序单独启用JNI库,Java系统变量会更方便。 – millimoose

0

JNotify不适用于MAC OSX 10.6.8。就如此容易。 :(在Linux上工作正常!文件修改是不正确的报告,无论你尝试什么。