2011-11-26 49 views
5

ファイルシステムの変更を監視するためのプラグインライブラリJNotifyを試してみたいが、それを設定する方法を理解することはできない。 JNotifyのWebページでは、「java.library.pathはjnotify(dllsなどの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は、あなたがプログラムを起動するとき-Dスイッチを使用して、この特定の1つを設定する必要があり、Javaシステム変数です:

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

開始するときには、いくつかのコマンドラインパラメータを追加するためにはNetbeansを伝えることが可能であるべきですあなたのプロジェクトのどこかにあなたのプログラムがあります。

OS Xでは、.dylibファイルのあるディレクトリは、.soではありません。

+0

Ok、私はドキュメントを無視していませんでした。 library.pathはWindowsの環境変数と似ていて、Mac OSのどこかに設定する必要がありましたが、NetBeansでコマンドラインパラメータを設定し、それを動作させる方法を見つけようとします。 – Anders

+0

これは、Project> RunのVMオプションフィールドに追加した場合にうまくいきました。ありがとうございました – Anders

+0

デフォルトは、ライブラリパスを環境変数に設定すると思います。Windowsでは 'PATH'、Loonixでは' LD_LIBRARY_PATH'、 OS Xでの推測では 'DYLD_LIBRARY_PATH'となりますが、アプリケーションだけでJNIライブラリを有効にする必要がある場合は、Javaシステム変数が便利です。 – millimoose

0

JNotifyはMAC OSX 10.6.8では動作しません。それと同じくらい簡単です。あなたが試しても、修正されたファイルは正しく報告されていません。