理解IDEA的項目配置和Web部署

第一章:項目配置的理解


1.Project

(1)Project name:定義項目的名稱;
(2)Project SDK:設置該項目使用的JDK,也可以在此處新添加其他版本的JDK;
(3)Project language level:這個和JDK的類似,區別在於,假如你設置了JDK1.8,缺只用到了1.6的特性,那麼這裏可以設置語言等級爲1.6。這個是限制項目編譯檢查時最低要求的JDK特性;

(4)Project compiler output:項目中的默認編譯輸出總目錄,實際上每個模塊可以自己設置特殊的輸出目錄(Modules->(project)->Paths->Use module compile output path),所以這個設置有點雞肋。

2.Modules

一個項目中可以有多個子項目,每個子項目相當於一個模塊。每個子項目都對應了Sources、Paths、Dependencies三大配置選項:
(1)Sources:顯示項目的目錄資源,哪些是項目部署的時候需要的目錄,不同顏色代表不同的類型
(2)Paths:可以指定項目的編譯輸出目錄,即項目類和測試類的編譯輸出地址(替換掉了Project的默認輸出地址)
(3)Dependencies:項目依賴

每個子項目之下都可以定義它所使用的框架,這裏重點說明一下Web部分的設置。(Web部署-1)

3.Libraries
這個可以顯示所添加的jar包,同時也可以添加jar包。
4.Facets
作用暫時不知
5.Artifacts(Web部署-2)
項目打包部署設置,這個是項目配置裏面比較關鍵的地方,重點說下。
官方給的定義:即編譯後的java類,Web資源等的整合,用於測試、部署等工作。
默認情況下,IDEA的Modules和Artifacts的output目錄已經設置好了,不需要更改,打成war包的時候會自動在WEB-INF目錄下生成classes,然後把編譯後的文件放進去。

這裏的輸出目錄不太理解,之前不是配置過了文件編譯的輸出目錄了嗎?爲什麼這裏還有一個整合這些資源的目錄呢?他又做了什麼事?
其實,當你點擊運行tomcat時,默認就開始做以下事情:
(1)編譯,IDEA在保存/自動保存後不會編譯,不像Eclipse的保存即編譯,因此在運行server前會做一次編譯,編譯後class文件放在指定的項目編譯輸出目錄下(見2);
(2)根據artifact中設定對目錄結構進行創建;
(3)拷貝web資源的根目錄下的所以文件到artifact的目錄下(見2中的web根目錄)
(4)拷貝編譯輸出目錄下的classes目錄到artifac下的WEB-INF下(見2)
(5)拷貝lib目錄下所需的jar包到artifact下的WEB-INF下;

(6)運行server,成功。

第二章:參考鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章