要获取应用程序的路径,我调用以下Java命令:
System.getProperty("user.dir")
如果应用程序直接启动,这可以正常工作。在Windows和OS X上,如果应用程序分别通过快捷方式和别名启动,也可以使用此功能。
但是,当通过Linux链接启动应用程序时(在Linux Mint中,通过右键单击文件并选择" Make Link",然后将其移动到其他位置),该命令将返回快捷方式的路径,而不是应用程序本身的路径。有没有办法可以获得应用程序的真实路径,而不是指向应用程序的链接路径?
答案 0 :(得分:0)
System.getProperty("user.dir")
返回您启动JVM的目录(请参阅this comment)。当您使用快捷方式或符号链接启动程序时,默认为Windows 1 上的目标文件的目录,但它将是Linux上符号链接的目录。
要获取jar文件或类文件的目录,您将不得不跳过几个问题:https://stackoverflow.com/a/320595/1114687
1:除非您更改快捷方式的“工作目录”