SpringBoot获取jar文件所在目录

Java之Spring Boot入门到精通,Spring Boot项目部署【jar包方式,war包方式】(一篇文章精通系列) Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!Java面试核心知识点《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!Java面试核心知识点一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间![外链图片转存中…(img-XClh1IKJ-1713288792727)]Java面试核心知识点。 阅读详情
一开始是想通过以下方法获取:
java.lang.System.out.println(java.lang.System.getProperty("user.dir"));

例如我把jar文件放在/opt/test/目录下,并且把当前工作目录定位在/opt/test/目录下,获取到的结果确实是:/opt/test/

但是!

但是!

但是!当我把工作目录切换(cd /home/)到其它地方:例如:/home/

这时候再次通过上面的方式获取到的结果就不是理想的结果了,而是:/home/

之后我再继续研究可以通过第二个方法获取到理想的结果:

private static final String APPLICATION = "/application.yml";
private static final String JAR = "jar";
private static final String FILE = "file:";
java.lang.Class<?> clazz = SpringApplication.class;
java.lang.ClassLoader classLoader = clazz.getClassLoader();
java.net.URL url = classLoader.getResource(APPLICATION);
if (url != null) {
    java.lang.String path = url.getPath();
    java.lang.String[] nameArray = path.split(java.io.File.separator);
    int i = 0;
    java.lang.StringBuilder stringBuilder = new java.lang.StringBuilder();
    for (; i < nameArray.length; i ++) {
        java.lang.String name = nameArray[i];
        if (name.contains(JAR)) {
            break;
        } else {
            stringBuilder.append(name).append(java.io.File.separator);
        }
    }
    java.lang.String target = stringBuilder.toString();
    if (target.startsWith(FILE)) {
        target = target.substring(FILE.length());
    }
    java.lang.System.out.println("target->" + target);//这里打印输出:/opt/test/
} else {
    java.lang.System.out.println("url is null");
}
解决SpringBoot jar包中的文件读取问题实现 主要介绍了解决SpringBoot jar包中的文件读取问题实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

相关推荐

单目和多目视觉统一标定

单目和多目视觉统一标定 一.单目视觉标定 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在

吴建明wujianming_110117 2911

SpringBoot获取jar包路径

【代码】SpringBoot获取jar包路径。

hello,word! 1854

智能座舱架构与芯片- (10) 音频篇 下

若将有限个 量化样值的绝对值从小到大依次排列,并对应地依次赋予一个十进制数字代码(例如,赋予样值0的十进制数字代码为0),在码前以“+”、“-”号为前缀,来 区分样值的正、负,则量化后的抽样信号就转化为按抽样时序排列的一串十进制数字码流,即十进制数字信号。如果声学密封不牢,来自内部结构的噪声可能到达传感器,两个传感器之间的泄漏可能降低BF算法的性能。未来,随着汽车电动化的普及,传统的ANC降噪所针对的发动机噪音已经不复存在,而路噪问题将越发明显,因此,全新的RNC主动路噪消减技术将会有一个更为宽广的市场。

joanna_xiao的博客 3842

springboot项目获取jar包路径

项目需要在jar包同等级目录里创建个文件夹放一些配置文件,不想通过配置每次修改路径,想在代码里直接获取jar包的路径然后动态生成文件夹和文件.

weixin_36743691的博客 1605

语言随机效应模型_线性混合效应模型 VS 方差分析

线性混合效应模型相比方差分析具有很多优点。为了让大家更直观的了解,我们来做一下两者的对比。基于模拟的方法,生成了以下数据dat_sim:这种数据格式是长格式,也就是从实验软件导出来的那种数据格式。这种数据格式可以直接使用线性混合效应模型进行分析。该实验设计是被试内项目间的单因素两水平设计。category是自变量,两个水平分别是outgroup和ingroup,outgroup比ingr...

weixin_31960565的博客 2688

树莓派CSI/DSI二合一接口深度玩法:同时驱动MIPI摄像头和屏幕的配置秘籍

本文详细解析了树莓派5上CSI/DSI二合一接口的深度玩法,提供了同时驱动MIPI摄像头和屏幕的完整配置秘籍。从硬件连接到软件设置,包括config.txt的优化配置,帮助用户充分利用树莓派5的双多功能接口,实现高效的双设备工作模式。

weixin_30687051的博客 573

【SpringBoot】三种方式,教你读取 jar 包中的 resources 目录下的文件

但部署后,项目是通过打成 jar 包运行的,里面的文件是没有实际路径的(只有相对于项目名的相对路径)。此方法默认也是从 classpath 路径(即:src 或 resources 路径下)下查找文件的,但它的路径前为什么需要加 “/” 呢?此方法默认是从 classpath 路径(即:src 或 resources 路径下)下查找文件的,所以,路径前不需要加 “/”。因为最后肯定是打包部署的,所以掌握针对后者的这种方式来读取文件是很有必要的。这个是跟要读取的文件与当前.class 文件的位置有关。...

sco5282的博客 3万+

landsat8数据下载教程

下载landsat数据教程

weixin_44001203的博客 1万+

在 Spring Boot 中获取 Jar 包中 Resources 资源目录下的文件

注:麻烦大家关注我的公众号,会每日更新,面试题笔试题都会更新,麻烦大家多多关注。

新生代码农的博客 1702

QGIS004:【05矢量属性表】-保留字段、删除字段、添加唯一值索引字段、添加字段到属性表、添加自增量字段、添加XY字段到图层、文本型转浮点型、重构字段、重命名字段

摘要:QGIS矢量属性表工具箱包括保留字段、删除字段、添加唯一值索引字段、添加字段到属性表、添加自增量字段、添加XY字段到图层、文本型转浮点型、重构字段、重命名字段等选项,本文介绍各选项的基本操作。

qq_31762031的博客 2312

MISRA C 详解 · 专栏06:2023 与 2025 更新总览(相对 2012 的差异)

本专栏 01~05 篇基于(143 规则 + 16 指令)。这六年间标准又前进了两步——(大改)和(微调)。本文补充说明「相对 2012,标准变在哪」,并给出新增规范的代表性示例。

XavierKong的博客 73

Springboot获取jar包中resources资源目录下的文件

Springboot获取jar包中resources资源目录下的文件

weixin_42585386的博客 9468

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

WW、forever的博客 285

spring boot项目打成jar运行,获取resources目录下的文件失败(文件不存在)

spring boot项目打成jar运行,获取resources目录下的文件失败

qq_43144781的博客 1921

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

系列二十九、Spring Boot打成jar包后,resources目录下的资源文件获取不到

在做公司业务开发时,有一个地方是使用EasyExcel模板技术进行文件上传,测试环境是OK的,但是和前后端联调验证测试通过后,上传到生产环境就不行了,后来也是花费了很多时间才找出其中的问题,以下为解决方案。

仰望星空,脚踏实地!安全感是自己给的,努力才是一辈子的安全感。 2752

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

解决Springboot项目打成jar包后获取resources目录下的文件报错的问题

前几天在项目读取resources目录下的文件时碰到一个小坑,明明在本地是可以正常运行的,但是一发到测试环境就报错了,说找不到文件,报错信息是:class path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!xxxx。看了半天代码感觉没有问题,于是怀疑是打成项目jar包后和原项目存在差异导致的。

fhey的博客 6675

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Springboot项目打成jar包后获取resources目录下的模板文件失败

在使用模板文件进行文件相关操作时,使用IDEA本地测试没有任何问题,打成jar包后部署,发现不能正常读取resources目录下template文件夹下的模板文件,出现类似 path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!xxxx 的问题。

weixin_42123075的博客 1662

SpringBoot获取resource目录下的Excel文件,IDEA成功,jar数据量为0

解决SpringBoot获取resource目录下的Excel文件,IDEA成功,jar数据量为0的问题

BCadillac的博客 2388

ApplicationHome.getDir() java获取程序目录方法springboot

ApplicationHome是Spring Boot框架提供的一个类,用于获取应用程序的Jar包或者根目录的路径。它可以在Spring Boot应用程序中用来获取应用程序所在的位置,从而方便地读取应用程序的配置文件、模板文件等资源。getSource()和getDir()都返回File对象,可以使用File对象提供的方法读取应用程序的资源文件。如果应用程序在一个解压缩的目录中运行,则返回该目录中的源码路径;应用程序在一个解压缩的目录中运行,则返回该目录的路径。

test1372965955的博客 3030

通过idea将工程打包成jar文件及运行JAR类型工程

本文主要通过IDEA工具将springboot工程打包成JAR类型的工程,并在windows中运行

雾林小妖的博客 2204

springboot打包生成jar之后,获取不到resource目录下文件

https://blog.youkuaiyun.com/cscscssjsp/article/details/84822706

qq_32281025的博客 9687

SpringBoot下获取resources目录下文件的常用方法

今天给大家带来SpringBoot下获取resources目录下文件的常用方法,示例中的方法是读取resources目录下的txt和xlsx文件,并将xlsx导出到excel的简单写法。

u010479989的博客 4456
上一篇: jdk原生实现http的文件和参数同时上传
下一篇: Java实现串口通信
JianfeiMa
博客等级 码龄10年 61粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值