Search code examples
javamacosjnotifyjava.library.path

JNotify on Mac OS X?


I want to try JNotify, the plugin library for watching file system changes, but cannot figure out how to configure it. The web page for JNotify says that "java.library.path should point to the location of the native libraries that comes with jnotify (dlls, so dylibs etc)". I am rather new to Mac OS X and don't really know how to do this. I'm using NetBeans and was hoping there was a simple way of adding it to the path in there. I tried it by simply adding the jar file to the Libraries node in the project, and importing it by "import net.contentobjects.jnotify.*;", but that didn't help. I'm getting this:

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

It also seems I need to add native libraries (.so file for Mac I guess) into the same path.

So how do I do this?


Solution

  • java.library.path is a Java system variable, you have to set this particular one by using the -D switch when launching the program:

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

    It should be possible to tell Netbeans to add some command line parameters when starting your program somewhere in your project's properties.

    On OS X, the directory you want is wherever the .dylib files are, not the .so ones.