原本獲取工程目錄使用方法System.getProperty("user.dir")
;
但是打完包放在linux機器上跑的時候發現無法正確獲取到該jar包所在目錄,導致無法運行;
網上查閱後修改爲如下方法:
public String getPath()
{
String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
if(System.getProperty("os.name").contains("dows"))
{
path = path.substring(1,path.length());
}
if(path.contains("jar"))
{
path = path.substring(0,path.lastIndexOf("."));
return path.substring(0,path.lastIndexOf("/"));
}
return path.replace("target/classes/", "");
}
這樣打成jar包後也可以正常獲取到jar包所在的目錄;