springboot项目调试和发布的的绝对路径和根目录问题

本文总结了SpringBoot在开发和发布时的路径问题,包括获取当前项目路径、classes目录绝对路径,以及配置文件的读取顺序。在开发模式下,静态资源路径为项目跟目录/target/classes/,发布为jar时,静态资源路径为jar包同级的static目录。配置文件读取遵循特定顺序,优先级从高到低排列。
摘要由CSDN通过智能技术生成

springboo在开发和发布项目时的路径问题总结如下:

1、springboot获取当前项目路径的地址

System.getProperty("user.dir")

输出目录:  G:\outshine\wangsoso

2、获取classes目录绝对路径

String path = ClassUtils.getDefaultClassLoader().getResource("").getPath();

String path = ResourceUtils.getURL("classpath:").getPath();

输出目录:  /G:/outshine/wangsoso/target/classes/

//如果上传目录为/static/images/upload/,则可以如下获取:
File upload = new File(path.getAbsolutePath(),"static/images/upload/");
if(!upload.exists()) upload.mkdirs();
System.out.println("upload url:"+upload.getAbsolutePath());
//在开发测试模式时,得到的地址为:{项目跟目录}/target/static/images/upload/
//在打包成jar正式发布时,得到的地址为:{发布jar包目录}/static/images/upload/

注意:以jar包发布项目时,我们存储的路径是与jar包同级的static目录,因此我们需要在jar包目录的application.properties配置文件中设置静态资源路径,如下所示:

#设置

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值