最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項目中jar發(fā)布獲取jar包所在目錄路徑的最佳方法

 更新時間:2022年07月24日 09:57:02   作者:m0_66557301  
在開發(fā)過程中,我們經(jīng)常要遇到上傳圖片、word、pdf等功能,但是當我們把項目打包發(fā)布到服務(wù)器上時,對應(yīng)的很多存儲路徑的方法就會失效,下面這篇文章主要給大家介紹了關(guān)于SpringBoot項目中jar發(fā)布獲取jar包所在目錄路徑的相關(guān)資料

 示例代碼:

        //第一種
        File path = new File(ResourceUtils.getURL("classpath:").getPath());
        if(!path.exists()) path = new File("");
        System.out.println(path.getAbsolutePath());
        //第二種
        System.out.println(System.getProperty("user.dir"));
        //第三種
        String path1 = ClassUtils.getDefaultClassLoader().getResource("").getPath();
        System.out.println(URLDecoder.decode(path1, "utf-8"));
        //第四種
        String path2 = ResourceUtils.getURL("classpath:").getPath();
        System.out.println(path2);
        //第五種
        ApplicationHome h = new ApplicationHome(getClass());
        File jarF = h.getSource();
        System.out.println(jarF.getParentFile().toString());

這幾種獲取項目目錄的方式中,其中:

第一種、第二種得到的結(jié)果一致

第三種、第四種得到的結(jié)果一致

但是,不同的運行方式,他們的結(jié)果是有偏差的。下面我們來看下不同情況下依次打印的路徑是什么。

先看下直接在idea中運行main方法啟動項目時候,打印的路徑,顯示如下:

再看下打包成jar包中,打印的路徑

第一種執(zhí)行方式

操作方式:打開命令行,目錄切換到j(luò)ar包所在目錄,然后執(zhí)行 jar -jar 啟動命令,打印的路徑如下:

第二種執(zhí)行方式

操作方式:打開命令行,直接java -jar E:/web_pack/bis_exporter-1.0-SANPSHOT.jar,即不切換到j(luò)ar所在目錄,而是直接執(zhí)行,打印的路徑如下:

是不是發(fā)現(xiàn)問題了!在這種情況下,第一種和第二種方式打印的路徑是不對的,他打印的路徑就是當前執(zhí)行命令時所在的目錄。這就很容易造成不必要的bug

例如:我們在jar的根目錄寫一個自定義數(shù)據(jù)配置文件,通過第一種或者第二種方式讀取數(shù)據(jù),那么使用遠程執(zhí)行jar的方式,就一定會報找不到配置文件的錯誤。

補充:springboot獲取運行Jar包的目錄

//linux和windows下通用
private String getJarFilePath() {
    ApplicationHome home = new ApplicationHome(getClass());
    File jarFile = home.getSource();
    return jarFile.getParentFile().toString();
}

總結(jié)

綜上所述,最好使用第五種方案,獲取運行jar所在的目錄。

到此這篇關(guān)于SpringBoot項目中jar發(fā)布獲取jar包所在目錄路徑的文章就介紹到這了,更多相關(guān)SpringBoot獲取jar包所在目錄路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java 中volatile和lock原理分析

    java 中volatile和lock原理分析

    這篇文章主要介紹了java 中volatile和lock原理分析的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java中獲取文件大小的詳解及實例代碼

    Java中獲取文件大小的詳解及實例代碼

    這篇文章主要介紹了Java中獲取文件大小的詳解及實例代碼的相關(guān)資料,一種是使用File的length()方法,另外一種是使用FileInputStream的available()方法,這里就說下如何使用需要的朋友可以參考下
    2016-12-12
  • Java創(chuàng)建多線程異步執(zhí)行實現(xiàn)代碼解析

    Java創(chuàng)建多線程異步執(zhí)行實現(xiàn)代碼解析

    這篇文章主要介紹了Java創(chuàng)建多線程異步執(zhí)行實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • SPRINGBOOT讀取PROPERTIES配置文件數(shù)據(jù)過程詳解

    SPRINGBOOT讀取PROPERTIES配置文件數(shù)據(jù)過程詳解

    這篇文章主要介紹了SPRINGBOOT讀取PROPERTIES配置文件數(shù)據(jù)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 詳解java整合solr5.0之solrj的使用

    詳解java整合solr5.0之solrj的使用

    本篇文章主要介紹了詳解java整合solr5.0之solrj的使用 ,具有一定的參考價值,有興趣的可以了解下
    2017-06-06
  • Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明

    Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明

    Hadoop的能提供高吞吐量的數(shù)據(jù)訪問,是集群式服務(wù)器的上的數(shù)據(jù)操作利器,這里就來為大家分享Java訪問Hadoop分布式文件系統(tǒng)HDFS的配置說明:
    2016-06-06
  • Java中的Semaphore信號量使用解析

    Java中的Semaphore信號量使用解析

    這篇文章主要介紹了Java中的Semaphore信號量使用解析,Semaphore 通常我們叫它信號量,可以用來控制同時訪問特定資源的線程數(shù)量,通過協(xié)調(diào)各個線程,以保證合理的使用資源,需要的朋友可以參考下
    2023-11-11
  • 聊聊SpringBoot整合Nacos自動刷新配置的問題

    聊聊SpringBoot整合Nacos自動刷新配置的問題

    Nacos作為SpringBoot服務(wù)的注冊中心和配置中心,本例將在配置文件中配置一個?cml.age=100?的配置項,程序中編寫一個方法讀取配置文件,并通過?Get--->/test/age?接口提供給瀏覽器訪問,感興趣的朋友跟隨小編一起看看吧
    2022-01-01
  • Spring Boot中的屬性綁定的實現(xiàn)

    Spring Boot中的屬性綁定的實現(xiàn)

    這篇文章主要介紹了Spring Boot中的屬性綁定的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • B/S與C/S架構(gòu)的區(qū)別介紹

    B/S與C/S架構(gòu)的區(qū)別介紹

    本文詳細講解了B/S與C/S架構(gòu)的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12

最新評論

建湖县| 南木林县| 泽州县| 萍乡市| 玉溪市| 鹰潭市| 泽州县| 包头市| 遂溪县| 天气| 宣汉县| 德州市| 林口县| 甘洛县| 义乌市| 宁明县| 南漳县| 洪泽县| 天津市| 枣阳市| 普定县| 手机| 克什克腾旗| 漳州市| 泸州市| 岑溪市| 武城县| 依兰县| 什邡市| 康定县| 万州区| 安达市| 庆城县| 尉犁县| 楚雄市| 库伦旗| 治县。| 石柱| 玉环县| 全州县| 民丰县|