web-dev-qa-db-ja.com

Javaコマンドラインから現在実行中のディレクトリを設定できますか?

コマンドラインからJavaアプリケーションを実行しています。コマンドライン引数を指定して、現在実行中のディレクトリを、アプリケーションが実際に実行される場所以外に設定できますか?

17
user538442

JVM引数があります-Duser.dirJVMの作業ディレクトリを設定するために使用できます。

39
Datta Rooyikar

可能であれば、スクリプトを使用してJavaアプリケーションを実行し、スクリプトにディレクトリを設定します。

#!/bin/sh
cd <your dir>
Java <some arguments>

JNIソリューションは、アプリケーション内のあらゆる種類の相対パスに影響を与える可能性があります。たとえば、入力したクラスパス。

4
thoredge

私はこのSO投稿を見つけ、それは私の問題を解決するのに役立ちました。私は他の誰かをつまずかせるかもしれないIntelliJについての特定の何かを共有したかったのですが。

以下に、-Duser.dirフラグが使用され、作業ディレクトリのテキストフィールドが入力されている画像を投稿しました。

"Working Directory" field has lower precedence than the -Duser.dir flag.

この状況では、作業ディレクトリは「2ndTry」ではなく「JarLearning」に設定されます。

0
user2407334

現在のディレクトリを変更する場合は、JNIを使​​用して、JavaコードからネイティブAPIを呼び出す必要があります。たとえば、Windowsの場合は SetCurrentDirectory を使用します。 ==

0
Abel Morelos