javax.imageio.IIOException: Can't read input file!完美解決

今天遇到一個問題,上圖測試

 

 

 

 

這段代碼主要是給圖片添加水印3d

後來百度發現多是圖片的路徑出了問題,由於是動態獲取的圖片地址,而後我把地址打印出來了blog

 

 以後經過終端查看,果真沒有圖片

 

 以後我在classes目錄找到了文件get

 

 這時煥然大悟編譯

 

 

由於個人圖片文件一開始是放在main文件夾的resources文件夾中的,在文件編譯時,會被放在classes文件夾中。。class

然而個人測試代碼是運行在test文件夾的,test文件夾中的resources文件夾中的內容會被放在test-classes文件夾。test

代碼中動態獲取路徑時是基於當前運行的代碼位置,因此獲取的路徑爲/Users/huang/IdeaProjects/o2o/target/test-classes/watermark.png,但圖片被編譯後放在了/Users/huang/IdeaProjects/o2o/target/classes/watermark.png中,因此報錯找不到文件百度

 

解決方法:終端

我採用了比較粗暴的方式,將圖片複製一份到test/resources中,編譯時圖片就會被放到/Users/huang/IdeaProjects/o2o/target/test-classes路徑下,問題解決。

相關文章
相關標籤/搜索