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


猜你喜欢
- @Autowired注解在抽象类中失效最近在工作中遇到这个问题,在抽象类中使用Autowired这个注解,注入mybatis的dao时,总是
- 起因unity程序build到pc上,拿到其他人的机器上结果有些功能不正常,看log里面大概是Fallback handler could
- 由于项目需求,需要为Java提供一套支持事件驱动机制的类库,可以实现类似于C#中的event和delegate机制。众所周知,Java语言本
- 本文实例讲述了C#实现基于加减按钮形式控制系统音量及静音的方法。分享给大家供大家参考。具体如下:using System; using Sy
- java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例
- 日常开发中,判断邮箱是少不了的,这个我以**C#**为例,来写一个判断方法,正则表达式是通用的,CV就可以首先引入正则需要使用的命名空间//
- 这是一个运用网格布局来做的简易计算器,可能没有那么美观,大家可以继续完善首先先看看成果吧首先先建一个新的Project Calculator
- 1.1 接口组成更新概述接口的组成常量:public static final抽象方法:public abstract默认方法(Java 8
- Android Bitmap详解及Bitmap的内存优化一、Bitmap:Bitmap是Android系统中的图像处理的最重要类之一。用它可
- 网格布局标签是GridLayout。这个布局是android4.0新增的布局。这个布局只有4.0之后的版本才能使用。不过新增了一些东东①跟L
- 本文实例为大家分享了android实现简单活动转盘的具体代码,供大家参考,具体内容如下页面public class CircleTurnta
- 问题最近 Cordova 项目里有一个需求,这里需要从 assets 目录中读取文件,加载配置信息,并且代码中要用到。因为看到 gradle
- 本文实例讲述了C#中const用法。分享给大家供大家参考。具体用法分析如下:const是一个c语言的关键字,它限定一个变量不允许被改变。使用
- SpringMvc中普通类注入Service为null场景:使用Quartz定时器时,普通的java类需要注入spring的service类
- C#实现:#region 计算字符串相似度 /// &l
- Maven,是一个Java开发比较常用的项目管理工具,可以对 Java 项目进行构建、依赖管理。对于很多Java程序员来说,分层架构都是不陌
- 简单介绍一下Java中的Excel文件导出功能(基于HttpServletResponse实现下载)首先,引入需要依赖的jar包:<d
- CancellationTokenCancellationToken有一个构造函数,可以传入一个bool类型表示当前的Cancellatio
- Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI.解释: 当应用程序启动时,Android首先会开启一个主线程
- Spring读取配置文件Document在XmlBeanDefinitionReader.doLoadBeanDefinitions(Inp