FileNotFoundException 問題的解決

放在resource目錄下的一個文件,在啓動程序的時候會讀取文件的路徑

Object.class.getResource("/toDeleteRoleId.txt").getPath()

代碼如圖,本地idea可以正常運行,但是打包後使用python腳本 用命令執行 包FileNotFoundException,如下圖

 

注意到輸出的文件路徑是在jar包的下級目錄,解壓jar包後發現裏面有一個toDeleteRoleId.txt文件,如下圖,發現問題

原因:打包時把改文件打進jar包中,代碼獲取文件路徑的方式是Object.class.getResource("/toDeleteRoleId.txt").getPath() 

          因爲jar包中有,所以就不會再去resource中拿,就會獲取到jar包中的文件路徑,該路徑是不符合java規範的

解決方法:修改打包工具,過濾該文件,不把改文件打到jar包中,如下圖。(我一般是放到resource目錄下)

下面是我的包結構

 

相應的pom文件中在打包插件中過濾該文件,如下圖

 

上面的包的結構中的resource目錄是這樣產生的,如下圖

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章