SpringBoot jarサービスまたはwarサービスを打ってプロジェクトパスを取得
4731 ワード
直接コード:
/**
* : jar war
* @return
*/
public String getProjectRootPath(){
// ( war jar )
String rootPath = this.getClass().getResource("/").getPath();
String[] splits = rootPath.split("/");
int breakI = 0;
boolean isJarService = false;// jar
for (int i = 0; i < splits.length; i++) {
if (splits[i].contains(".jar")){
breakI = i;
isJarService = true;
break;
}
}
String finalRootPath = "";
if (isJarService){
// jar , file:XXX/XXX , ,i 1
for (int i = 1; i < breakI; i++) {
finalRootPath += splits[i] + "/";
}
} else {
finalRootPath = rootPath;
}
return finalRootPath;
}