SpringBoot项目jar发布后如何获取jar包所在目录路径
作者:精打细算 发布时间:2023-02-23 08:36:04
标签:SpringBoot,jar发布,jar包,目录路径
SpringBoot项目jar发布获取jar包所在目录路径
ApplicationHome ah = new ApplicationHome(getClass());
File file = ah.getSource();
System.out.println(file.getParentFile().toString());
说明:
该种方法获取jar包所在路径好处,会根据当前是本地测试环境还是发布到生产环境准确获取jar所在路径。
SpringBoot打可执行jar运行时输出文件路径问题
Ubuntu系统环境下,项目打jar包形式运行工程生成文件以及获取该文件的路径设置问题
1.使用前辈项目中如下方法在打war包和本地运行项目时能够获取目录。
IDEA中获取的是:/home/xxx/xxx/(projectName)/target/classes;
若使用在jar包中获取的是:/home/xxx/BOOT-INF/classes
String path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))).replaceAll("file:/", "").replaceAll("%20", " ").trim();
2.当项目打jar包使用java -jar xxx.jar运行时,jar会作为一个单独的文件运行,文件不会生成在jar包中。
所以使用System.getProperty("user.dir");获取当前jar所运行的路径(和jar文件所在的同级目录),使用该路径作为根目录存放项目中生成的文件。
来源:https://blog.csdn.net/weixin_40076255/article/details/106837281
0
投稿
猜你喜欢
- 本文实例为大家分享了java 利用Socket实现SMTP协议发送邮件的具体代码,供大家参考,具体内容如下package mail;impo
- 引言Netty作为高性能的网络通信框架,它是IO模型演变过程中的产物。Netty以Java NIO为基础,是一种基于异步事件驱动的网络通信应
- 最近看了一些淘宝购物车的demo,于是也写了一个。效果图如下:主要代码如下: actvity中的代码:public class Shoppi
- 这里给一个样例树:代码:#include <stdio.h> #include <string.h>#include
- 大二的时候做的课程设计,图片管理器,当时遇到图片很多的文件夹,加载顺序非常慢。虽然尝试用多个Thread加载图片,却无法保证图片按顺序加载。
- 说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远比Java久
- layout布局<RelativeLayout xmlns:android="http://schemas.android.
- 前言在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好。下面分享一个方法如何在表格跨
- 用户列表页面开发项目介绍用户列表页面开发,可以实现简单的查询,删除,修改,和添加用户信息功能。前端使用vue框架,后端使用springboo
- 在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\
- 本篇文章是直接下载最新的APK安装的方法,并不是增量下载该APk。想要实现一个android应用,自动更新下载APK软件的方法,我采取的是以
- cin的返回值今天在用STL时用到while(cin>>s1>>a>>s2>>b)这样的语句
- 【面试高频】- ThreadLocal的使用场景以及使用方式是怎么样的1 两大使用场景-ThreadLocal的用途典型场景1:每个线程需要
- spring WEB MVC框架提供了一个MVC(model-view-controller)模型-视图-控制器的结构和组件,利用它可以开发
- 通过子类调用父类的变量,有两种方法:1、把父类的变量设置成public:package triangle.opengl.wlz.stu.ch
- 这一篇网络爬虫的实现就要联系上大数据了。在前两篇java实现网络爬虫和heritrix实现网络爬虫的基础上,这一次是要完整的做一次数据的收集
- 01、多线程下扩容会死循环众所周知,HashMap 是通过拉链法来解决哈希冲突的,也就是当哈希冲突时,会将相同哈希值的键值对通过链表的形式存
- monitor概念管程,监视器。在操作系统中,存在着semaphore和mutex,即信号量和互斥量,使用基本的mutex进行开发时,需要小
- 1.接口中的默认方法和静态方法Java 8中允许接口中包含具有具体实现的方法,该方法称为 “默认方法” ,默认方法使用 default 关键
- 实现了Java web开发账号单一登录的功能,防止同一账号重复登录,后面登录的踢掉前面登录的,使用过滤器Filter实现的。可以先下载项目下