如何获取SpringBoot项目中jar包所在目录路径是一个常见的问题。下面是一些方法:
方法一:使用SpringBoot的内置类
在SpringBoot中,可以使用SpringApplication类的静态方法来获取jar包所在的目录路径。可以在SpringBoot启动类中调用该方法:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
String jarPath = new File(MyApplication.class.getProtectionDomain()
.getCodeSource()
.getLocation()
.getPath())
.getParentFile().getPath();
System.out.println(jarPath);
}
}
在上述代码中,首先通过MyApplication.class.getProtectionDomain().getCodeSource().getLocation().getPath()方法获取到jar包的路径,然后通过getParentFile()方法获取jar包所在的目录路径。
方法二:使用System.getProperty()方法
还可以使用System.getProperty()方法来获取jar包所在的目录路径。
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
String jarPath = System.getProperty("user.dir");
System.out.println(jarPath);
}
}
在上述代码中,System.getProperty("user.dir")方法会返回当前工作目录的绝对路径,也就是jar包所在的目录路径。
下面是具体演示:
例如我将工程打包成jar包,且放在/d/Java_Project文件夹下
那么方法一中打印的内容就是:/d/Java_Project
方法二中打印的内容也是相同的:/d/Java_Project
综上,以上两种方法都可以在SpringBoot项目中获取jar包所在的目录路径,根据需要选择适合的方法即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目中jar发布获取jar包所在目录路径的最佳方法 - Python技术站