springboot项目打成jar包发布后,获取jar包当前所在路径。windows与Linux通用。

 获取代码:

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包存放路径。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章