我的代码在一个JAR文件(例如foo.jar)中运行,我需要在代码中知道正在运行的foo.jar在哪个文件夹中。
foo.jar
因此,如果foo.jar在中C:\FOO\,无论我当前的工作目录是什么,我都希望获取该路径。
C:\FOO\
return new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation() .toURI()).getPath();
用班级名称替换“ MyClass”。
显然,如果从非文件位置加载你的类,这将做奇怪的事情。