Java:jarがLinuxのどこにあるかを知る方法
-
05-07-2019 - |
質問
Linuxでは、JVMはユーザーのホームフォルダーと同じ作業ディレクトリを設定します。 Windowsでは、これはjarが置かれているフォルダーです。 作業ディレクトリを変更するために、jar (私のアプリから)の場所を見つけるにはどうすればよいですか?
Martijn
解決
次のコードでjarへのパスを取得してみてください:
String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
その後、「*。jar」を削除できます。パート:
path=path.substring(0, path.lastIndexOf('/')+1);
jarと同じディレクトリにあるファイルを開く必要があるときに、javaゲームでも同じ問題が発生しました。
Linuxでjarをダブルクリックしても、ファイルは開かれませんでした。もちろん、コマンドラインを開いてdirをjar dirに変更し、そこからjarを実行できますが、jarをダブルクリックする必要がありました。
他のヒント
どちらの場合も、実際のディレクトリです。エクスプローラーから実行すると、Windowsでは自動的に実際のディレクトリがjarのbase-dirに設定されます。 Linuxでは、ホームディレクトリはGUIの実際のディレクトリです。ディレクトリを設定するには、実際のディレクトリを(cdコマンドで)設定し、jarを(javaw -jar xyz.jarで)実行する短いシェルスクリプトを記述します。
所属していません StackOverflow