JNotify在Mac OS X上可用吗?

6

我想尝试使用JNotify,这是一个用于监视文件系统变化的插件库,但我不知道如何配置它。JNotify的网页上说:“java.library.path应该指向与jnotify一起提供的本地库的位置(dlls,so dylibs等)”。我对Mac OS X还比较陌生,不太清楚如何操作。我正在使用NetBeans并希望有一种简单的方法将其添加到路径中。我尝试了在项目的“Libraries”节点中添加jar文件,并通过“import net.contentobjects.jnotify.*;”导入它,但这并没有帮助。我得到了以下错误:

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

看来我需要将本地库(对于Mac而言,是 .so 文件)添加到同一路径中。

那么我该怎么做呢?


JNotify在macOS上只能处理较少的文件,请尝试减少文件数量以获得预期结果。 - Manish Saxena
2个回答

1

java.library.path 是 Java 系统变量,您必须在启动程序时使用 -D 开关来设置它:

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

在Netbeans中,应该可以通过项目属性的某个地方告诉它在启动程序时添加一些命令行参数。

在OS X上,你想要的目录是那些.dylib文件所在的地方,而不是.so文件。


好的,我并没有完全忽略文档,可能只是没有理解它...我认为java.library.path就像Windows下的环境变量一样,在Mac OS中必须在某个地方设置它。但我会尝试找到一种在NetBeans中设置命令行参数的方法,并看看是否可以使其工作。谢谢。 - Anders
如果我将它添加到“项目>运行”的VM选项字段中,它就可以工作。谢谢! - Anders
我认为默认设置库路径是到某个环境变量。在Windows上是PATH,在Linux上是LD_LIBRARY_PATH,我猜在OS X上会是DYLD_LIBRARY_PATH。但是如果你需要仅为你的应用程序启用JNI库,则Java系统变量更方便。 - millimoose

0

JNotify在MAC OSX 10.6.8上无法工作。就是这么简单。:( 在Linux上运行良好!无论你尝试什么,修改的文件都不会被正确报告。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接