java
コマンドを使用して実行された場合、実行時にこのクラスのコードから実行されたクラスの現在のファイルシステムの場所を特定する方法はありますか?
たとえば、次のクラスの場合:
public class MyClass{
public static void main(String[] args){\
new MyClass().doStuff();
}
private void doStufF(){
String path = ... // what to do here?!
System.out.println("Path of class being invoked: " + path);
}
}
呼び出されたばかりのMyClass.classファイルのファイルシステムで正しいパスを取得して出力する方法はありますか?
同様に、コマンドからjarファイルを呼び出す場合、java -jar
そのjar内のクラス内からjarファイルのパスを取得する方法はありますか?
PS:コマンドが呼び出される作業ディレクトリについては何も想定しないでください。java