Java:从软链接路径获取执行jar路径



我的文件结构是这样的。我想打印jar的路径时,我从软链接执行。但是我总是得到实际位置,而不是软链接位置。

c:MyDirMySubDir
MyJar.jar
c:SoftLink1 --> c:MyDirMySubDir
c:SoftLink2 --> c:MyDirMySubDir

当我使用下面的代码从SoftLink1或SoftLink2执行MyJar.jar时打印当前的jar文件,我得到的是实际目录而不是软链接位置。

String path = MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
String decodedPath = URLDecoder.decode(path, "UTF-8");

当我从不同的软链接执行时,打印当前jar文件位置(软链接位置)的正确方法是什么?

对于相对路径:

System.getProperty("sun.java.command")

最新更新