SpringBoot项目jar发布后如何获取jar包所在目录路径

 更新时间:2021年11月08日 10:47:55   作者:精打细算  
这篇文章主要介绍了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文件所在的同级目录),使用该路径作为根目录存放项目中生成的文件。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java接口语法以及与类的关系详解

    java接口语法以及与类的关系详解

    接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法
    2021-10-10
  • Java的增强for循环修改数组元素的问题小结

    Java的增强for循环修改数组元素的问题小结

    增强for循环的元素变量x,就是一个局部变量,它是引用数组当前元素引用的副本(就相当于上文所说的你复刻朋友的钥匙),或者是基本数据类型的值的副本,这篇文章主要介绍了Java的增强for循环修改数组元素的问题小结,需要的朋友可以参考下
    2024-02-02
  • MacBook Java开发环境搭建的详细步骤(新手必备)

    MacBook Java开发环境搭建的详细步骤(新手必备)

    本文主要介绍了MacBook Java开发环境搭建,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Jackson自定义序列化与反序列化注解详解

    Jackson自定义序列化与反序列化注解详解

    这篇文章主要介绍了Jackson自定义序列化与反序列化注解详解,某些场景下,我们使用Jackson对数据进行序列化或反序列化的时候,需要对某些数据进行特殊处理,需要的朋友可以参考下
    2023-11-11
  • Springboot整合minio实现文件服务的教程详解

    Springboot整合minio实现文件服务的教程详解

    这篇文章主要介绍了Springboot整合minio实现文件服务的教程,文中的示例代码讲解详细,对我们的工作或学习有一定帮助,需要的可以参考一下
    2022-06-06
  • Java零基础教程之Windows下安装、启动Tomcat服务器方法图解(免安装版)

    Java零基础教程之Windows下安装、启动Tomcat服务器方法图解(免安装版)

    这篇文章主要介绍了Windows系统下安装、启动、注册服务、停止 Tomcat操作的所有方法,本文通过图文并茂的方式给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2016-09-09
  • 一个处理用户登陆的servlet简单实例

    一个处理用户登陆的servlet简单实例

    这篇文章主要介绍了一个处理用户登陆的servlet简单实例,可通过servlet实现处理用户登录的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • java中的DTO的使用示例

    java中的DTO的使用示例

    在Java中,DTO代表数据传输对象,本文主要介绍了java中的DTO的使用示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • springsecurity 企业微信登入的实现示例

    springsecurity 企业微信登入的实现示例

    本文主要介绍了springsecurity 企业微信登入的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 解决Spring国际化文案占位符失效问题的方法

    解决Spring国际化文案占位符失效问题的方法

    本篇文章主要介绍了解决Spring国际化文案占位符失效问题的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论