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

如何獲取springboot打成jar后的classpath

 更新時間:2023年07月21日 15:16:30   作者:琴瑟裹腹  
這篇文章主要介紹了如何獲取springboot打成jar后的classpath問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

獲取springboot打成jar后的classpath

項目需要另一個子項目Utils的一個util工具類,在A項目的maven中加入了該子項目

<dependency>
?? ??? ??? ?<groupId>com.supconit.data.algorithm.platform</groupId>
?? ??? ??? ?<artifactId>data_algorithm_util</artifactId>
?? ??? ??? ?<version>1.1.00.190408-SNAPSHOT</version>
</dependency>

但是該工具類的執(zhí)行依賴一個conf文件,把子項目Utils打成jar包后,發(fā)布到linux平臺上,發(fā)現(xiàn)無法讀取該配置文件

報錯如下:

java.io.FileNotFoundException: class path resource [fdfs_client.conf] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/home/data_algorithm/data_algorithm_executor-1.1.00.190408-SNAPSHOT.jar!/BOOT-INF/lib/data_algorithm_util-1.1.00.190408-SNAPSHOT.jar!/fdfs_client.conf

修改之前的代碼

?String path ?= new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();
?ClientGlobal.init(path);

修改之后的代碼

?ClassPathResource classPathResource = new ClassPathResource("fdfs_client.conf");
? ? ? ? ? ? //創(chuàng)建臨時文件,將fdfs_client.conf的值賦值到臨時文件中,創(chuàng)建這個臨時文件的原因是springboot打成jar后無法獲取classpath下文件
? ? ? ? ? ? String tempPath =System.getProperty("java.io.tmpdir") + System.currentTimeMillis()+".conf";
? ? ? ? ? ? File f = new File(tempPath);
? ? ? ? ? ? IOUtils.copy(classPathResource.getInputStream(),new FileOutputStream(f));
? ? ? ? ? ? ClientGlobal.init(f.getAbsolutePath());

發(fā)布之后,問題解決,原因是因為打包后Spring試圖訪問文件系統(tǒng)路徑,但無法訪問JAR中的路徑,因此必須使用resource.getInputStream()。

springboot打成jar后獲取classpath下文件異常解決

寫了一個工具類,要讀取classpath下的文件,使用

Resource resource = new ClassPathResource(filePath);
File file = resource.getFile();

在本地測試,沒發(fā)現(xiàn)問題,但是將項目打包成jar包后運行,發(fā)現(xiàn)報錯

Caused by: java.io.FileNotFoundException: class path resource [test.txt] cannot be resolved to absolute file path because it does not reside in the file system: j

原因

打包后Spring試圖訪問文件系統(tǒng)路徑,但無法訪問JAR中的路徑。

解決

Resource resource = new ClassPathResource(filePath);
InputStream inputStream = resource.getInputStream();

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • springBoot動態(tài)加載jar及如何將類注冊到IOC

    springBoot動態(tài)加載jar及如何將類注冊到IOC

    在SpringBoot項目中動態(tài)加載jar文件并將其類注冊到IOC容器是一種高級應用方式,,這種方法為SpringBoot項目提供了更靈活的擴展能力,使得項目可以在不修改原有代碼的基礎上增加新的功能模塊,感興趣的朋友一起看看吧
    2024-11-11
  • Java?Cloneable接口的深拷貝與淺拷貝詳解

    Java?Cloneable接口的深拷貝與淺拷貝詳解

    這篇文章主要為大家詳細介紹了Java?Cloneable接口的深拷貝與淺拷貝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 面試初級Java開發(fā)問到Arrays

    面試初級Java開發(fā)問到Arrays

    這篇文章主要介紹了Java Arrays工具類用法,結合實例形式分析了java Arrays工具類針對數(shù)組元素修改、復制、排序等操作使用技巧與相關注意事項,需要的朋友可以參考下
    2021-07-07
  • SpringBoot實現(xiàn)權限驗證的示例步驟

    SpringBoot實現(xiàn)權限驗證的示例步驟

    權限驗證是一種用于控制對系統(tǒng)資源和操作的訪問的機制。它允許開發(fā)人員定義誰可以執(zhí)行特定操作或訪問特定資源,并確保只有經(jīng)過授權的用戶才能執(zhí)行這些操作,這篇文章主要介紹了SpringBoot實現(xiàn)權限驗證,需要的朋友可以參考下
    2023-08-08
  • spring boot項目打包成war在tomcat運行的全步驟

    spring boot項目打包成war在tomcat運行的全步驟

    這篇文章主要給大家介紹了關于spring boot項目打包成war在tomcat運行的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • Java實現(xiàn)一個小說采集程序的簡單實例

    Java實現(xiàn)一個小說采集程序的簡單實例

    下面小編就為大家?guī)硪黄狫ava實現(xiàn)一個小說采集程序的簡單實例。小編覺得挺不錯的, 現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java中對象都是分配在堆上嗎?你錯了!

    Java中對象都是分配在堆上嗎?你錯了!

    這篇文章主要介紹了Java中對象都是分配在堆上嗎?你錯了!文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,,需要的朋友可以參考下
    2019-06-06
  • Java如何從List中刪除元素的正確用法舉例

    Java如何從List中刪除元素的正確用法舉例

    這篇文章主要給大家介紹了關于Java如何從List中刪除元素的正確用法, 列表List是Java中的一種數(shù)據(jù)結構,存放按照添加順序的元素,是個有序的集合,需要的朋友可以參考下
    2023-07-07
  • springboot集成druid,多數(shù)據(jù)源可視化,p6spy問題

    springboot集成druid,多數(shù)據(jù)源可視化,p6spy問題

    這篇文章主要介紹了springboot集成druid,多數(shù)據(jù)源可視化,p6spy問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java Shutdown Hook場景使用及源碼分析

    Java Shutdown Hook場景使用及源碼分析

    shutdown hook 就是一個簡單的已初始化但是未啟動的線程,本文詳細的介紹了Java Shutdown Hook場景使用及源碼分析,感興趣的朋友可以參考一下
    2021-06-06

最新評論

十堰市| 祁阳县| 乃东县| 大港区| 内乡县| 伊春市| 双辽市| 方城县| 洞口县| 中山市| 睢宁县| 温州市| 阿城市| 乌拉特前旗| 陆川县| 疏勒县| 镇安县| 南木林县| 兴海县| 嘉黎县| 河西区| 旬阳县| 晋宁县| 卢氏县| 房产| 专栏| 安徽省| 玉龙| 汉中市| 射洪县| 武宁县| 介休市| 县级市| 安阳市| 太仓市| 金寨县| 靖远县| 天津市| 吕梁市| 贵港市| 奉节县|