获取代码:

String jar_parent = new File(ResourceUtils.getURL("classpath:").getPath()).getParentFile().getParentFile().getParent();

我的springboot项目名叫springcloud-eureka-servicesupport是用idea构建的(以module构建)。

项目放在C:\Users\anxiaopei\springcloud 下。

1.windows下,使用idea直接运行项目时:

当使用idea发布springboot项目直接运行,而不是打包为jar运行的时候,运行上面的代码获取的是项目的位置:

首先找到项目运行的目录 target:

target绝对路径:C:\Users\anxiaopei\springcloud\springcloud-eureka-servicesupport

 运行上面代码获得路径:C:\Users\anxiaopei\springcloud

因此在不打为jar包运行的时候,获取的是项目的根路径。

 

2.Linux下,打为jar包后,java -jar 运行springboot jar包项目时:

我的Springboot项目打为jar包后,linux系统中 jar存放的目录:

 运行上面代码:得到的结果是:file:/usr/CouldComment

由此可见代码运行正常

 

获取这个路径我是用来得到同路径下的,存放于jar包之外的静态资源,freemarker的模板资源,一些系统配置需要jar包存放路径。

此代码能用的留个赞,不能用的反馈一下问题。_(:з」∠)_

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐