原文:https://blog.csdn.net/f45056231p/article/details/88692444
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目录下”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-07-30 skywalking 服务间链路追踪 (1) ---安装
2019-07-30 exception AOP 异常处理 ,异常统一处理
2019-07-30 messageHelper 统一管理项目的中message freemarker commons-text
2019-07-30 Json 对象比较