我正在尝试在.app包中获取jar文件的位置。 在Windows系列中,我只是输入类似这样的内容
System.getProperty("user.dir");
但它为mac os x family返回了错误的结果。
什么是承诺?
P.S。我看到了这个解决方案https://stackoverflow.com/a/936738/1808979,但我需要jar的位置,而不是类。
答案 0 :(得分:2)
这对我有用(this
是我的“主要”类的实例)
URL url = this.getClass().getProtectionDomain().getCodeSource().getLocation();
File f;
try
{
// Send the URL through the URLDecoder to remove potential
// spaces that are encoded as %20 in the URL
String p = URLDecoder.decode(url.getFile(), "UTF-8");
f = new File(p);
}
catch (Exception e)
{
// cannot happen
}
return f;