首页 > 其他分享 >springboot获取项目的绝对路径和根目录

springboot获取项目的绝对路径和根目录

时间:2022-11-11 16:01:48浏览次数:64  
标签:properties springboot upload 绝对路径 application static 根目录 目录 resources

参考:https://blog.csdn.net/f45056231p/article/details/88692444

springboot获取项目的绝对路径和根目录

Harvey 5月前 ⋅ 11142 阅读

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

System.getProperty("user.dir")

输出目录:  G:\outshine\wangsoso

//获取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配置文件中设置静态资源路径,如下所示:

设置静态资源路径,多个以逗号分隔

spring.resources.static-locations=classpath:static/,file:static/

以jar包发布springboot项目时,默认会先使用jar包跟目录下的application.properties来作为项目配置文件。

如果在不同的目录中存在多个配置文件,它的读取顺序是:

1、config/application.properties(项目根目录中config目录下)

2、config/application.yml

3、application.properties(项目根目录下)

4、application.yml

5、resources/config/application.properties(项目resources目录中config目录下)

6、resources/config/application.yml

7、resources/application.properties(项目的resources目录下)

8、resources/application.yml

注:

1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。

2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。

3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”

标签:properties,springboot,upload,绝对路径,application,static,根目录,目录,resources
From: https://www.cnblogs.com/kuangke/p/16880742.html

相关文章

  • springboot 发布tomcat(zip包)
    废话不多说一POM调试时使用tomcat,打包时过滤tomcat包<dependencies><dependency><groupId>org.springframework.boot</groupId><......
  • springboot 引入外部包的坑Lookup method resolution failed; nested exception is ja
    手动引入jar包<dependency><groupId>com.allinpay.sdk</groupId><artifactId>top-sdk-java</artifactId><version>1.0.5</......
  • Linux-Centos springboot 部署步骤
    0. 崭新Centos7.9部署springboot一.Java安装1. 查看yum是否安装(如果有安装,则打印详情)rpm-qa|grepyum2.查看java是否安装rpm-qa|grepjava3.查找......
  • 阿里云kafka使用springboot单个项目中同时消费不同topic
    本来是个简单的问题,但是复杂了。两个topic消费方式不一样,一个使用过的是默认方式,不指定partition,另外一个,指定了特殊的partition。报错:11:10:32.888[org.springframework.......
  • springBoot的java工具类
    断言是一个逻辑判断,用于检查不应该发生的情况Assert关键字在JDK1.4中引入,可通过JVM参数-enableassertions开启SpringBoot中提供了Assert断言工具类,通常用......
  • 3:SpringBoot-Java Spring
    目录​​3.1SpringBoot介绍​​​​3.2Spring和SpringBoot的区别​​​​3.3系统要求​​​​3.4SpringBootApplication​​3.1SpringBoot介绍SpringBoot的本质是Sprin......
  • 4:SpringBoot-Starter-Java Spring
    目录​​4.1SpringBoot-Starter介绍​​​​4.1Starter原理​​​​4.3Starter依赖引入​​​​4.4Starter配置​​4.1SpringBoot-Starter介绍Starter是SpringBoot的一......
  • 5:SpringBoot-Actuator-Java Spring
    目录​​5.1SpringBoot-Actuator介绍​​​​5.2Endpoints介绍​​​​5.3Actuator原理​​​​5.4Actuator依赖引入​​5.1SpringBoot-Actuator介绍Actuator是Spring......
  • springboot 发布tomcat
    ​废话不多说一下载tomcatApacheTomcat®-ApacheTomcat9SoftwareDownloads 二修改tomcat配置1 conf\server.xml这里我修改了9021端口<Serverport="90......
  • SpringBoot07(springboot整合MyBatis)
    一、整体思路解析:二、步骤分析:1-搭建springboot的工程(在idea里面搭建,略)2-引入MyBatis的起步依赖,添加msql驱动<?xmlversion="1.0"encoding="UTF-8"?><projectxm......