在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());