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