2012-02-24 12 views
1

.jarファイルがあるフォルダに新しいフォルダを作成するソリューションを探しています。jarファイルディレクトリにフォルダを作成

私はC:\test\tempでtest.jerファイルを持っているのであれば、私は新しいフォルダ(新規フォルダ)を作成できるようにしたいと思います:C:\test\temp\newFolder.

誰もがこれを行う方法を知っています。 私は

System.getProperty("user.dir"). 

を使用しようとしましたが、私はjarファイルをダブルクリックする場合にのみ、私に正しいを与えます。 スケジューラから実行する必要があり、その場所が変更されます。

答えて

0

通常、実行時にJARファイルの場所を簡単に特定できません。あなたのVMの実行環境は、(あなたが言ったように)ユーザディレクトリを教えてくれるが、それはVMが起動されたディレクトリである。したがって、JARをダブルクリックすると、実際はJARがあるディレクトリになります。しかし、あなたはコマンドライン上でJavaを呼び出す場合、例えば

C:\一部\ディレクトリ>のjava -cp C:main.Class

test.jar \一時\そして "はuser.dir" "c:\ some \ directory"を含みます。 この情報の欠如は、VMが異なる場所からクラスを透過的に読み込むことができるため、意図的です。

あなたが望むことを行う最良の選択は、コマンドライン引数として選択したディレクトリを渡すことです。最悪の場合、デフォルトでは "user.dir"を使用することができます。しかし、最良の解決策が本当にあるのは、なぜJARがどこにディレクトリを置くのかによって異なります。

+0

ナットシャールでの私の問題。 "user.dir"は私の場合、jarファイルを呼び出すスケジューラーツールのディレクトリです 問題はログの配置です。 jarファイルとともにログを配置したい。 jarファイルがスケジュールされたタスクとして実行されています。すべてのタスクは、次のログとともに、それぞれのフォルダに配置されます。しかし、サービスは異なるマシン間で分散されなければなりません。 同じプログラムでログを別の場所に配置する必要があります。しかし、常にjarファイルの配置に合わせて配置する必要があります。 意味がありますか? –

+0

解決策が見つかりませんでした。 jarファイルlacationをcmd引数として取り上げました。 –

関連する問題