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

yizhihongxing

如何获取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日

相关文章

  • XP系统总是开机马上弹出关机窗口的故障原因及解决方法

    XP系统总是开机马上弹出关机窗口的故障原因及解决方法 问题描述 在XP系统开机后,屏幕马上弹出关机窗口的情况屡见不鲜,这种故障一般发生在系统硬件配置升级、软件安装等操作后。当用户登录系统后,若不手动关闭这个“价值70亿的窗口”,则系统会在60秒的倒计时后强制关机。 可能原因 导致这种情况的原因有很多,可能是系统文件或注册表损坏,也可能是系统内存使用过多,还可…

    other 2023年6月27日
    00
  • matplotlib 入门之Image tutorial

    Matplotlib入门之Image Tutorial的完整攻略 本文将为您详细讲解Matplotlib中Image Tutorial的内容,包括图像的读取、显示、处理和保存等内容。在文中,我们将使用Matplotlib 3.4.2版本作为示例。 图像的读取和显示 以下是使用Matplotlib读取和显示图像的步骤: 导入Matplotlib和Numpy库:…

    other 2023年5月6日
    00
  • .Net获取IP地址的方法

    .NET获取IP地址的方法攻略 在.NET中,你可以使用System.Net命名空间下的类和方法来获取IP地址。下面是一个详细的攻略,包含了两个示例说明。 步骤1:引用命名空间 首先,你需要在代码文件的顶部引用System.Net命名空间,以便使用相关的类和方法。你可以在代码文件的顶部添加以下代码: using System.Net; 步骤2:获取本地IP地…

    other 2023年7月31日
    00
  • 实现CSS圆环的5种方法(小结)

    实现CSS圆环的5种方法(小结) 在CSS中,我们可以使用不同的方法来创建圆环效果。下面是实现CSS圆环的5种方法的详细攻略: 方法一:使用border属性 .circle { width: 100px; height: 100px; border: 10px solid #000; border-radius: 50%; } 这种方法使用border属性来…

    other 2023年7月28日
    00
  • ASP 三层架构 Convert类实现代码

    下面是详细讲解: ASP 三层架构 ASP 三层架构指的是将应用程序分为三个层次:展示层、业务逻辑层和数据访问层。其中,展示层是用户界面,主要是负责展示数据和接收用户输入;业务逻辑层是业务逻辑的实现,主要是在数据访问层和展示层之间协调处理;数据访问层是数据的持久化层,主要是负责与数据库交互。 ASP 三层架构的优点在于结构清晰、各层之间耦合度低、易维护和易扩…

    other 2023年6月27日
    00
  • IIS7无法读取配置文件解决办法

    针对“IIS7无法读取配置文件解决办法”这个问题,我们需要采取以下几个步骤来解决。 1. 检查文件权限 首先要检查的是配置文件的权限,因为在IIS7中,如果配置文件的权限设置不正确,就会导致无法读取配置文件。可以按照以下步骤进行检查: 找到配置文件所在的目录,在目录上右键单击,选择“属性”选项。 在弹出的窗口中,选择“安全”选项卡,检查是否有“IIS_IUS…

    other 2023年6月25日
    00
  • python中super().__init__()作用详解

    下面我将详细讲解一下 “python中super().init()作用详解” 的相关知识。 什么是super().init()方法? 在Python中,当我们定义一个子类(派生类)时,如果需要对其父类(基类)的属性或方法进行调用,我们通常使用 super() 函数。super() 函数返回一个临时的对象,通过该对象可以调用父类中的方法。 而对于 super(…

    other 2023年6月27日
    00
  • 让自解压文件在右键中不显示的实现方法

    让我来详细讲解“让自解压文件在右键菜单中不显示”的实现方法。 介绍 自解压文件通常指的是带有解压自身所需程序的可执行文件,使用时只需双击即可自动解压,非常方便。不过,在右键菜单中出现自解压文件会显得有些多余,尤其是对于某些需要隐私保护的文件时更为重要,因此禁止其出现可使文件更安全。 实现方法 实现自解压文件在右键菜单中不显示的方法,我们需要做两件事情: 修改…

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