maven編專案編譯後在target下的zip檔案損壞無法開啟
出現的問題
/resources/template/test.rar 專案編譯後在/target/classes/template/test.rar 下的zip檔案損壞無法開啟。經過對比配置排查發現是
<filtering>true</filtering>這條配置引起的問題
filtering的作用
maven的佔位符解析表示式的使用場合預設只在pom檔案範圍內活動
如果想擴大它的活動範圍,就必須指定需要擴大到哪些檔案,然後指定filtering=true.然後maven的佔位符解析表示式就可以用於它裡面的表示式解析了.
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.rar</include>
<include>**/*.ftl</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
1. Spring EL表示式和MAVEN的佔位符表示式長得一樣,但兩者預設井水不犯河水,不能再Spring的範圍內取maven的引數
2. filtering的作用就是打通兩者的連線, 讓井水犯河水, 具體來說是讓Spring的範圍內能取到maven的引數
3. filtering的使用要配合resource一起使用: 前者開啟打通連線,後者指定打通的範圍.
舉例:
如果你的專案繼承了spring-boot-starter-parent,
如果想在application.properties中使用maven的佔位符以獲取maven的引數,此時就不能用${},
因為可能會與EL表示式衝突,
怎麼辦?此時parent依賴將maven佔位符表示式預設改為@var@的形式. 所以只能用@var@替代${var}
參考文章
相關文章
- kubernetes下jenkins實戰maven專案編譯構建JenkinsMaven編譯
- Go語言專案編譯之後找不到配置檔案Go編譯
- 編譯問題解決:LINK : fatal error LNK1104: 無法開啟檔案“*.dll”編譯Error
- Ubuntu - WPS開啟檔案提示檔案被鎖定無法編輯解決方法Ubuntu
- 解決Adobe Acrobat開啟PDF檔案時已損壞無法修復的問題BAT
- 令人頭大: Mac提示應用程式無法開啟,檔案損壞怎麼辦?Mac
- 由驅動原始碼編譯的.o檔案在不同版本的核心環境下無法通用原始碼編譯
- Mac應用程式無法開啟提示不明開發者或檔案損壞的處理方法Mac
- 開啟maven專案之後,右邊的maven突然消失Maven
- 在 Windows 中編譯 Github 中的 GO 專案Windows編譯GithubGo
- Win10開啟U盤提示“檔案或目錄損壞無法讀取”的解決方法Win10
- Oracle 無備份情況下undo檔案損壞處理Oracle
- 【C語言】linux下多檔案編譯C語言Linux編譯
- 專案編譯報錯編譯
- 檔案或目錄損壞且無法讀取怎麼辦?
- 在windows下匯入react專案並且打包編譯後部署到nginx上WindowsReact編譯Nginx
- pandas 無法開啟 .xlsx 檔案
- macOS Catalina 已損壞無法開啟的解決辦法Mac
- VSCode 使用 Code Runner 外掛無法編譯執行檔名帶空格的檔案VSCode編譯
- maven專案打包後war檔案丟失配置檔案Maven
- 類庫間無專案引用時,在編譯時拷貝DLL編譯
- [Python]批量編譯pyc檔案Python編譯
- Acrobat Mac使用技巧:如何解決開啟PDF檔案時顯示已損壞無法修復的問題!BATMac
- Swift原始碼專案編譯Swift原始碼編譯
- Maven專案無法引入 Maven Dependencies Libraries 問題Maven
- 控制檔案損壞處理
- 雙擊時它說“檔案或目錄損壞且無法讀取"
- Android-ffmpeg編譯so檔案Android編譯
- c語言多檔案編譯C語言編譯
- Vue專案編譯後部署在非網站根目錄的解決方案Vue編譯網站
- 行動硬碟無法訪問 “檔案或目錄損壞且無法讀取” 怎麼辦?硬碟
- IDE 無法編輯並儲存 sail 命令生成的檔案IDEAI
- qt的工程,轉到vs後,中的檔案都編譯不過,解決辦法QT編譯
- vs2010 單元測試專案,在vs2013中開啟後,無法讀取config配置檔案問題
- 清理微控制器編譯過程中產生的編譯檔案(壓縮以減少專案體積)編譯
- 編譯生產pdb檔案的軟體編譯
- 解決重灌系統後重新下載eclipse無法開啟之前專案的問題Eclipse
- 編寫一個 Makefile 檔案,對階段專案一的程式碼進行自動化編譯編譯