IntelliJ IDEA 的 Project Structure 窗口中的 Artifacts 勾选 Include in project build
文章目錄
- 在 war 工件勾選 Include in project build
- Build Project/Module
- Rebuild Project/Module
- 在 war exploded 工件勾選 Include in project build
在 war 工件勾選 Include in project build
war 工件處勾選 Include in project build,表示在構建項目/模塊之后,也會構建 war 工件。
我們知道,如果服務器配置的 deployment 中添加了工件,默認情況下啟動服務器后才會去構建工件,如下圖所示:
或者你主動去構建工件,如下圖所示:
但是在 war 工件處 Include in project build 打勾后,構建項目/模塊之后,就會自動構建工件(war 和 war exploded)。
在 war 工件處把 Include in project build 勾選上,表示在構建項目/模塊的時候,把構建 war 包的操作也包含在其中,而構建 war 包之前,必須先構建 war exploded 部署包,所以說在 war 工件處把 Include in project build 勾選上,每次構建項目/模塊的時候,如果文件有更新,都會更新 war 包和 war exploded 部署包的相關文件。如果還沒有生成工件,那么構建項目/模塊的時候,會自動構建 war 和 war exploded 工件。
Build Project/Module
如果 Java 文件有變動,resources 目錄下的資源文件有變動,執行 Build Project/Module 會更新部署包(含 war 包)、編譯輸出目錄、webapps 目錄中的相關文件。webapp 下的靜態資源文件有變動,執行 Build Project/Module 也會更新部署包(含 war 包)、webapps 目錄中的相關文件。
注:
1.項目的文件沒有變動,則不會更新部署包、編譯輸出目錄、webapps 目錄下的相關文件。
2.如果服務器沒有啟動,即使 deployment 添加的是 war 工件,即使 webapps 目錄下存在部署包,執行 Build Project 也是不會更新 webapps 目錄下的部署包
Rebuild Project/Module
無論項目的文件(靜態或動態文件)有沒有發生變動,執行 Rebuild Project 都會更新部署包(含 war 包)、編譯輸出目錄、webapps 目錄中的相關文件。
執行 Rebuild Project 其實就是重新編譯項目,重新構建部署包(war 和 exploded),并且重新解壓縮到 webapps 目錄下
注意:如果服務器沒有啟動,即使 deployment 添加的是 war 工件,即使 webapps 目錄下存在部署包,執行 Rebuild Project 也是不會更新 webapps 目錄下的部署包
在 war exploded 工件勾選 Include in project build
war exploded 工件處勾選 Include in project build,表示在構建項目/模塊之后,也會構建 war exploded 工件。
與 war 工件處勾選 Include in project build 的區別是,war exploded 處勾選 Include in project build,在構建項目/模塊之后只會構建/更新 war exploded 工件,不會構建/更新 war 工件;而 war 工件處勾選 Include in project build,在構建項目/模塊之后,會自動構建/更新 war exploded 和 war 工件,所以 war 工件勾選了 Include in project build,那么 war exploded 工件處勾選 Include in project build 就沒有意義了。
只有在 war 工件處未勾選 Include in project build 的情況下,war exploded 處勾選 Include in project build,那么構建項目/模塊則只會構建/更新 war exploded 工件。
總結
以上是生活随笔為你收集整理的IntelliJ IDEA 的 Project Structure 窗口中的 Artifacts 勾选 Include in project build的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 燃气灶备案规定最新(燃气灶备案规定)
- 下一篇: jar/war/ear文件的区别