2011-11-26 39 views
5

Quiero probar JNotify, la biblioteca de complementos para ver los cambios en el sistema de archivos, pero no puedo encontrar la manera de configurarlo. La página web de JNotify dice que "java.library.path debe apuntar a la ubicación de las bibliotecas nativas que viene con jnotify (dlls, so dylibs, etc.)". Soy bastante nuevo en Mac OS X y realmente no sé cómo hacer esto. Estoy usando NetBeans y esperaba que hubiera una forma simple de agregarlo al camino allí. Lo intenté simplemente agregando el archivo jar al nodo Libraries en el proyecto, e importándolo por "import net.contentobjects.jnotify. *;", Pero eso no ayudó. Me estoy poniendo esto:JNotify en Mac OS X?

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

También parece que necesito para agregar bibliotecas nativas (.so de archivos para Mac supongo) en el mismo camino.

Entonces, ¿cómo puedo hacer esto?

Respuesta

1

java.library.path es una variable del sistema Java, usted tiene que fijar éste en particular mediante el interruptor -D al iniciar el programa:

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

Debería ser posible decir Netbeans añadir algunos parámetros de línea de comandos al iniciar su programa en alguna parte de las propiedades de su proyecto.

En OS X, el directorio que desea es dondequiera que estén los archivos .dylib, no los .so.

+0

Ok, no ignoré completamente la documentación, probablemente no lo entendí ... pensé en Java. library.path era como una variable de entorno en Windows, y que tenía que establecerlo en algún lugar de Mac OS. Pero intentaré encontrar una forma de establecer parámetros de línea de comandos en NetBeans y ver si puedo hacer que funcione. Gracias. – Anders

+0

Funcionó si lo añadí en el campo de opciones de VM de Proyecto> Ejecutar. ¡Gracias! – Anders

+0

Creo que el valor predeterminado es establecer la ruta de la biblioteca a una variable de entorno. 'PATH' en Windows,' LD_LIBRARY_PATH' en Loonix, I ' Supongo que en OS X sería 'DYLD_LIBRARY_PATH'. Pero si necesita activar solo las bibliotecas JNI para su aplicación, la variable del sistema Java es más conveniente. – millimoose

0

JNotify NO funciona en MAC OSX 10.6.8. Tan sencillo como eso. :(En Linux funciona bien! El archivo modificado no se informa correctamente, no importa lo que intentes.