我正在尝试在具有多个依赖项的巨型命令行应用程序中获取当前用户路径。每次一个“。” 使用时,它给了我应用程序路径(jar 所在的位置),而不是当前的用户路径(正在进行调用的位置)。
所以,当它运行时:
File file = new File(".");
System.out.println(file.getCanonicalPath());
给我应用程序所在的路径。
但是当我创建一个单独的小应用程序并使用相同的代码时。从不同的目录调用 jar,它给出了当前用户路径。
我将 JSAP 命令行解析器用于命令行参数,其作用方式相同。如何解决?我希望我的大应用程序获取当前用户路径,而不是应用程序路径。
什么会导致他们表现不同?