2011-11-26 35 views
5

Voglio provare JNotify, la libreria di plugin per osservare le modifiche al file system, ma non riesco a capire come configurarlo. La pagina web di JNotify dice che "java.library.path dovrebbe puntare alla posizione delle librerie native fornite con jnotify (dlls, quindi dylibs ecc.)". Sono piuttosto nuovo su Mac OS X e non so davvero come farlo. Sto usando NetBeans e speravo che ci fosse un modo semplice per aggiungerlo al percorso. L'ho provato aggiungendo semplicemente il file jar al nodo Libraries nel progetto e importandolo con "import net.contentobjects.jnotify. *;", Ma ciò non ha aiutato. Sto ottenendo questo:JNotify su Mac OS X?

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

Sembra anche che ho bisogno di aggiungere librerie native (.so programma per Mac immagino) nello stesso percorso.

Quindi come faccio?

risposta

1

java.library.path è una variabile di sistema Java, è necessario impostare questo particolare uno utilizzando l'interruttore -D quando si lancia il programma:

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

Dovrebbe essere possibile dire Netbeans per aggiungere alcuni parametri della riga di comando quando si inizia il tuo programma da qualche parte nelle proprietà del tuo progetto.

Su OS X, la directory che si desidera è ovunque i file .dylib sono, non i .so quelli.

+0

Ok, non ho escluso la documentazione, probabilmente non l'ho capito ... ho pensato al java. library.path era come una variabile di ambiente sotto Windows e che dovevi impostarlo da qualche parte in Mac OS, ma cercherò di trovare un modo per impostare i parametri della riga di comando in NetBeans e vedere se riesco a farlo funzionare. – Anders

+0

Ha funzionato se l'ho aggiunto nel campo Opzioni VM di Progetto> Esegui. Grazie! – Anders

+0

Penso che l'impostazione predefinita sia impostare il percorso della libreria su una variabile d'ambiente. 'PATH' su Windows,' LD_LIBRARY_PATH' su Loonix, I ' m indovinando su OS X sarebbe 'DYLD_LIBRARY_PATH'. Ma se è necessario abilitare le librerie JNI per la propria applicazione da solo, la variabile di sistema Java è più conveniente. – millimoose

0

JNotify NON funziona su MAC OSX 10.6.8. Così semplice. :(Su Linux funziona bene! Il file modificato non è riportato correttamente, non importa quello che si prova