基于FileNotFoundException問(wèn)題的解決
解決FileNotFoundException問(wèn)題
放在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)問(wèn)題

原因
打包時(shí)把改文件打進(jìn)jar包中,代碼獲取文件路徑的方式是
Object.class.getResource("/toDeleteRoleId.txt").getPath() 因?yàn)閖ar包中有,所以就不會(huì)再去resource中拿,就會(huì)獲取到j(luò)ar包中的文件路徑,該路徑是不符合java規(guī)范的
解決方法
修改打包工具,過(guò)濾該文件,不把改文件打到j(luò)ar包中,如下圖。(我一般是放到resource目錄下)

下面是我的包結(jié)構(gòu)


相應(yīng)的pom文件中在打包插件中過(guò)濾該文件
如下圖

上面的包的結(jié)構(gòu)中的resource目錄是這樣產(chǎn)生的
如下圖

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot與mybatis整合實(shí)例詳解(完美融合)
大家都知道springboot搭建一個(gè)spring框架只需要秒秒鐘。下面通過(guò)實(shí)例代碼給大家介紹一下springboot與mybatis的完美融合,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09
spring異步service中處理線程數(shù)限制詳解
這篇文章主要給大家介紹了關(guān)于spring異步service中處理線程數(shù)限制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
深入淺析java web log4j 配置及在web項(xiàng)目中配置Log4j的技巧
這篇文章主要介紹了2015-11-11
Springmvc請(qǐng)求參數(shù)類型轉(zhuǎn)換器及原生api代碼實(shí)例
這篇文章主要介紹了Springmvc請(qǐng)求參數(shù)類型轉(zhuǎn)換器及原生api代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

