应用程序包mac os x中jar文件的位置

时间:2013-11-18 15:04:03

标签: java macos jar

我正在尝试在.app包中获取jar文件的位置。 在Windows系列中,我只是输入类似这样的内容

System.getProperty("user.dir");

但它为mac os x family返回了错误的结果。

什么是承诺?

P.S。我看到了这个解决方案https://stackoverflow.com/a/936738/1808979,但我需要jar的位置,而不是类。

1 个答案:

答案 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;