項目開發過程中我們我們會遇到通路靜态檔案的情況,例如word書簽模闆,excel導入模闆,條文法規檔案等,在war包的情況下通路是沒有問題的,如果使用jar包部署,使用相對路徑通路會出現問題,本文就此問題給出解決方案。
resources檔案夾下建立靜态目錄systemfile,放入測試檔案test.docx(檔案名需要命名為英文)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iQ4USRCVCNFVSQCVCNBVyNFVSRCVCN5UiNFVCO5UCRBVSNFViNCViQCVCNFVyN4UiN5UiNFVyLcZjQlIkQlQTRlcDOlYTOlYTRlEDOlADOlYTRlkTOlQUOlkTRlUDOlMEOlUTRlIXYqVUQlcTOlkTRlYkQlUUQlgTRlQ3bvJ0ZulmcwN1Lcd2bsJ0LcJXZ0NXYt9CX3FmcvwFZlJWLldWYtl2LcN2byJTZk92YvwVbvNmLlVGdpd2Lc9CX6MHc0RHaiojIsJye.png)
pom檔案resource/build節點設定打包編譯忽略systemfile檔案夾
使用ClassPathResource的getInputStream擷取jar包中的檔案的流暫存到磁盤的臨時檔案中,直接通路臨時檔案即可
項目啟動時,需要清除靜态檔案的臨時檔案,避免檔案更新