【发布时间】:2013-10-03 11:56:12
【问题描述】:
为了获取应用程序的路径,我调用了以下 Java 命令:
System.getProperty("user.dir")
如果应用程序直接启动,这会很好。在 Windows 和 OS X 上,如果应用程序分别通过快捷方式和别名启动,这也有效。
但是,当应用程序通过 Linux 链接启动时(在 Linux Mint 中,通过右键单击文件并选择“制作链接”,然后将其移动到其他位置),该命令返回快捷方式的路径,而不是应用程序本身的路径。有没有办法可以获取应用的真实路径,而不是指向应用的链接路径?
【问题讨论】:
-
你想走哪条路?
System.getProperty("user.dir")返回您启动 JVM 的目录(请参阅this comment) - 在 Windows 上确实默认为目标文件的目录,但在 Linux 上将是符号链接的目录。 -- 要获取 jar 文件或类文件的目录,显然您还需要跳过几个环节:stackoverflow.com/a/320595/1114687 -
我正在尝试获取目标文件的目录。换句话说,我想要通过在 OS X 和 Windows 上调用
System.getProperty("user.dir")获得的等效字符串,即使从快捷方式启动也是如此。我不确定这是 Java for Linux 中的一个错误,还是只是不同。
标签: java linux desktop-shortcut