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