基于FileNotFoundException問題的解決
解決FileNotFoundException問題
放在resource目錄下的一個(gè)文件,在啟動(dòng)程序的時(shí)候會(huì)讀取文件的路徑
Object.class.getResource("/toDeleteRoleId.txt").getPath()
代碼如圖
本地idea可以正常運(yùn)行,但是打包后使用python腳本 用命令執(zhí)行 包FileNotFoundException
如下圖
注意到輸出的文件路徑是在jar包的下級(jí)目錄
解壓jar包后發(fā)現(xiàn)里面有一個(gè)toDeleteRoleId.txt文件
如下圖,發(fā)現(xiàn)問題
原因
打包時(shí)把改文件打進(jìn)jar包中,代碼獲取文件路徑的方式是
Object.class.getResource("/toDeleteRoleId.txt").getPath()
因?yàn)閖ar包中有,所以就不會(huì)再去resource中拿,就會(huì)獲取到j(luò)ar包中的文件路徑,該路徑是不符合java規(guī)范的
解決方法
修改打包工具,過濾該文件,不把改文件打到j(luò)ar包中,如下圖。(我一般是放到resource目錄下)
下面是我的包結(jié)構(gòu)
相應(yīng)的pom文件中在打包插件中過濾該文件
如下圖
上面的包的結(jié)構(gòu)中的resource目錄是這樣產(chǎn)生的
如下圖
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis分頁P(yáng)ageHelper插件代碼實(shí)例
這篇文章主要介紹了Mybatis分頁P(yáng)ageHelper插件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12徹底理解Spring注解@Autowired實(shí)現(xiàn)原理
這篇文章主要為大家詳細(xì)的介紹了Spring注解@Autowired實(shí)現(xiàn)的原理,縝密的邏輯分析,實(shí)踐應(yīng)用示例操作說明,讓大家徹底的理解Spring注解@Autowired背后實(shí)現(xiàn)原理2022-03-03Mybatis plus中使用in查詢出錯(cuò)如何解決
這篇文章主要介紹了Mybatis plus中使用in查詢出錯(cuò)的問題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Springboot項(xiàng)目的服務(wù)器部署與發(fā)布方式
本文記錄了將Springboot項(xiàng)目部署到服務(wù)器并發(fā)布的過程,包括在IDEA中打包、選擇服務(wù)器、連接服務(wù)器、安裝環(huán)境、上傳jar包、配置環(huán)境變量以及運(yùn)行項(xiàng)目等步驟2025-03-03使用IDEA直接連接MySQL數(shù)據(jù)庫的方法
這篇文章主要介紹了如何使用IDEA直接連接MySQL數(shù)據(jù)庫,首先需要新建一個(gè)空項(xiàng)目,第一次連接 需要先下載驅(qū)動(dòng),文中給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04詳解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超級(jí)詳細(xì)版)
本篇文章主要介紹了手把手Maven搭建SpringMVC+Spring+MyBatis框架(超級(jí)詳細(xì)版),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12基于synchronized修飾靜態(tài)和非靜態(tài)方法
這篇文章主要介紹了基于synchronized修飾靜態(tài)和非靜態(tài)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04