SpringBoot项目中jar发布获取jar包所在目录路径的最佳方法

如何获取SpringBoot项目中jar包所在目录路径是一个常见的问题。下面是一些方法:

方法一:使用SpringBoot的内置类

在SpringBoot中,可以使用SpringApplication类的静态方法来获取jar包所在的目录路径。可以在SpringBoot启动类中调用该方法:

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
        String jarPath = new File(MyApplication.class.getProtectionDomain()
        .getCodeSource()
        .getLocation()
        .getPath())
        .getParentFile().getPath();
        System.out.println(jarPath);
    }

}

在上述代码中,首先通过MyApplication.class.getProtectionDomain().getCodeSource().getLocation().getPath()方法获取到jar包的路径,然后通过getParentFile()方法获取jar包所在的目录路径。

方法二:使用System.getProperty()方法

还可以使用System.getProperty()方法来获取jar包所在的目录路径。

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
        String jarPath = System.getProperty("user.dir");
        System.out.println(jarPath);
    }

}

在上述代码中,System.getProperty("user.dir")方法会返回当前工作目录的绝对路径,也就是jar包所在的目录路径。

下面是具体演示:

例如我将工程打包成jar包,且放在/d/Java_Project文件夹下

那么方法一中打印的内容就是:/d/Java_Project

方法二中打印的内容也是相同的:/d/Java_Project

综上,以上两种方法都可以在SpringBoot项目中获取jar包所在的目录路径,根据需要选择适合的方法即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目中jar发布获取jar包所在目录路径的最佳方法 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 无线wifi的13个信道频率范围

    无线wifi的13个信道频率范围 在无线WiFi的使用过程中,我们往往需要选择一个可用的信道来保证无线网络的正常运行,但是对于不了解无线网络技术的用户来说,信道的选择可能会比较困难。在本文中,我们将介绍WiFi的13个信道频率范围,帮助用户选择合适的信道。 什么是无线WiFi信道 首先,我们需要了解WiFi信道的概念。在无线网络中,WiFi信道代表着无线网络…

    其他 2023年3月28日
    00
  • Android使用Intent启动其他非系统应用程序的方法

    关于Android使用Intent启动其他非系统应用程序的方法,可以在本文中详细阐述。本文将介绍如何使用Intent,在Android应用程序中启动其他非系统应用程序,同时提供两个示例进行说明。 一、什么是Intent 在Android系统中,如果要实现组件之间的通讯,可以使用Intent。简单来说,Intent是一种通讯机制,用于在不同的组件之间传递消息。…

    other 2023年6月25日
    00
  • React Server Component混合式渲染问题详解

    针对“React Server Component混合式渲染问题详解”的完整攻略,我将按照以下几个方面进行详细讲解: React Server Component(RSC)是什么? RSC背景和优势 RSC的混合式渲染 两个示例说明 结论和总结 1. React Server Component(RSC)是什么? React Server Component…

    other 2023年6月26日
    00
  • gta5最全mod整合包2022

    “GTA5最全mod整合包2022″是一个包含了多个GTA5游戏MOD的整合包。以下是”GTA5最全mod整合包2022″的完整攻略: 下载和安装”GTA5最全mod整合包2022″ 可以从游戏MOD网站或者其他资源网站下载”GTA5最全mod整合包2022″的安装程序。下载完成后,运行安装程序,按照提示完成安装。 安装”GTA5最全mod整合包2022” …

    other 2023年5月7日
    00
  • C/C++中运算符的优先级、运算符的结合性详解

    C/C++中运算符的优先级、运算符的结合性详解 1. 运算符优先级 在C/C++中,不同的运算符具有不同的优先级。优先级高的运算符先于优先级低的运算符进行计算。下表列出了C/C++中常用运算符的优先级,优先级由高到低排列: 优先级 运算符 描述 1 () [] -> . 访问操作符 2 ++ — 后缀递增、递减 3 ++ — 前缀递增、递减 4 !…

    other 2023年6月28日
    00
  • zepeto进不去怎么办 zepeto一直在加载解决方法

    问题描述:在使用zepeto的过程中,有些用户会遇到无法进入或者一直在加载的情况。这种情况可能是由于网络连接问题或者其他因素导致的。本文将提供一些可能的解决方法供大家参考。 解决方法一:检查网络连接并重试1. 检查手机的网络连接状态,确保网络连接正常。2. 如果网络连接正常,但是仍然无法进入zepeto,可以尝试等待一段时间后重试。 解决方法二:清除缓存和数…

    other 2023年6月25日
    00
  • Spring boot配置文件加解密详解

    Spring Boot 配置文件加解密详解 在实际开发过程中,我们通常需要在配置文件中包含敏感信息(如:数据库用户名,密码等),但是为了避免这些敏感信息泄露,我们需要对这些信息进行加密保护。相信很多小伙伴都遇到过这样的问题,那么本文将为大家详细讲解如何在 Spring Boot 中使用 jasypt 对配置文件进行加解密,让大家轻松解决这一问题。 1. 添加…

    other 2023年6月25日
    00
  • apache开源项目–Cassandra

    Apache Cassandra是一个高度可扩展的分布式NoSQL数据库,具有高性能、高可用性和高可伸缩性。本文将详细讲解Apache Cassandra的作用、特点、使用方法和示例。 作用 Apache Cassandra是一个分布式NoSQL数据库,用于存储和管理大量数据。它具有高性能、高可用性和高可伸缩性,适用于需要处理大量数据的应用程序。 特点 Ap…

    other 2023年5月5日
    00
合作推广
合作推广
分享本页
返回顶部