2011-12-28 11 views
4

.DLL(Windowsの下)または.SOs(Linuxの下)をロードするには、環境変数PATH(Windows)またはLD_LIBRARY_PATH(Linux)を使用する必要があります。NetbeansのプロジェクトごとにLD_LIBRARY_PATH(またはPATH)を指定する方法は?

DLLとSOを適切に使用するための唯一の方法は、Netbeansを起動する前に環境変数を定義することでした。

  1. これらの環境変数を内部で指定する方法はありますか? Netbeans?
  2. プロジェクト内で指定することは可能ですか プロパティ?そうすれば、それぞれのプロジェクトは独自の定義を持つことができます。
  3. ただ上書きするのではなく、それらの環境変数に追加する方法はありますか?

背景JNIを使​​用してネイティブライブラリにアクセスするJavaプログラムを開発しています。それらのネイティブライブラリは、次に、他の依存するネイティブライブラリにアクセスします。そのため、完全なLD_LIBRARY_PATH(またはWindowsの場合は通常のPATH)も設定する必要があるため、プロパティ "java.library.path"を設定するだけでは機能しません。

シェルスクリプト内で環境変数を設定しているため、アプリケーションは正常に動作します。

私たちは、開発中にオペレーティングシステムのインストールを混乱させたくないので、通常のシステムディレクトリにDLLまたはSOを置くことは望ましくありません。さらに、開発者がソース管理(Mercurial)からプロジェクトを取得し、すべての相対的なパスだけを動作させる柔軟性を持たせたいと考えています。

すでにスタックオーバーフローのハックがあり、environment variables programmatically in Javaに設定されています。しかし、私たちは解決策を探し求めています。

答えて

0

build.xmlファイルでNetBeansが使用するAntスクリプトタスクを無効にすることができます(またはフルスクリプトで直接編集することもできますが、推奨されていません。nbproject/build-impl.xml)。

java taskは、runターゲットで使用されます。 envパラメータを使用して、JVMを実行するプロセスに環境変数を指定することができます。

関連する問題