今天遇到一個問題,上圖
這段代碼主要是給圖片添加水印
后來百度發現可能是圖片的路徑出了問題,因為是動態獲取的圖片地址,然后我把地址打印出來了
之后通過終端查看,果然沒有
之后我在classes目錄找到了文件
這時煥然大悟
因為我的圖片文件一開始是放在main文件夾的resources文件夾中的,在文件編譯時,會被放在classes文件夾中。。
然而我的測試代碼是運行在test文件夾的,test文件夾中的resources文件夾中的內容會被放在test-classes文件夾。
代碼中動態獲取路徑時是基於當前運行的代碼位置,所以獲取的路徑為/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路徑下,問題解決。