在springboot中使用ApplicationHome獲取工程所在目錄的時候,開發環境和生產運行環境輸出的目錄是不同的,開發環境到target/classes目錄,而生產運行則是需要的wzkj-server.jar所在目錄
ApplicationHome home = new ApplicationHome(CollectTaskRunner.class);
// 獲取工程根目錄(開發階段:項目根目錄;生產階段:JAR 所在目錄)
File projectDir = home.getDir();
System.out.println("工程根目錄: " + projectDir.getAbsolutePath());
// (可選)獲取主類所在文件(開發階段:類文件目錄;生產階段:JAR 文件)
File sourceFile = home.getSource();
System.out.println("主類位置: " + sourceFile.getAbsolutePath());