IntelliJ IDEA的Web應用的目錄結構web
Ø 目錄圖:
eclipse
Ø 目錄解釋:ide
開發目錄工具 |
|
目錄名稱測試 |
描述spa |
Testip |
工程名稱ci |
lib資源 |
Jar包的存放目錄開發 |
src |
源文件也就是文件(類,資源文件)存放的目錄 |
test |
測試用例文件(類、資源文件)測存放的目錄 |
web |
WEB根目錄,存放WEB資源 |
WEB-INF |
配置文件存放目錄 |
Module的輸出目錄 |
|
目錄名稱 |
描述 |
out |
當前工程的輸出,包括全部的資源和類文件 |
Exploded |
工程的輸出目錄 |
TestWeb |
工程在容器中運行的別名 |
production |
類文件的輸出目錄 |
Test |
工程名稱,準確的說應該是模塊的名稱,存放src編譯後文件,都輸出到這裏了 |
test |
測試的類文件目錄 |
Test |
工程名稱,準確的說應該是模塊的名稱,存放test編譯後的類和資源文件,都輸出到這裏了 |
Ø 首先我要說一點,在IntelliJ IDEA裏面「new Project」就至關於咱們eclipse的「workspace」,而「new Module」纔是建立一個工程,這是要注意的一點。
Ø 咱們會發現,在用IntelliJ IDEA 進行開發的時候,會有2個目錄,一個是「開發目錄」,用來常常進行咱們的開發操做,是可見的,另外一個就是「輸出目錄」,這個環境目錄,咱們是看不見的,也就是在IDEA裏面看不見,咱們在實際的路徑中能看到,其實這個環境目錄就至關於咱們的容器的當前環境,咱們一般的作法是把容器的虛擬目錄指定到一個目錄,這裏IntelliJ IDEA會默認把當前環境指定到out裏面,這樣一來不用再往容器裏面發佈了,節省了開發時間。
Ø 咱們會發現,lib居然和src成了同級目錄了,常理應該放在WEB-INF下面的,這是IntelliJ IDEA默認的,固然,這個目錄咱們也能夠改回「WEB-INF」下面,這是一點。
Ø 接着咱們會發現,沒有classes目錄,常理,它也應該在「WEB-INF」下面呀,是在,一下子我在告訴你,他藏到哪裏去了,呵呵。
Ø 而後就是輸出目錄了,我來給你們逐步解釋,咱們能夠打開實際的目錄結構來查看,「production」這個目錄放的是全部工程文件(類,和資源)文件,也就是全部放在src下面的全部文件。下面的「Test」就是工程的名稱,在IntelliJ IDEA就是Module的名稱,由於能夠有多個Module。咱們只要「Make Module」的時候,編譯後的文件,都會自動發佈過來。這裏我只有一個Module,就是「Test」,因此下面就一個「Test」目錄。
Ø 如今就是「test」,這個目錄就是咱們測試用例,咱們全部的測試類和資源文件,都會編譯到這裏了,下面是咱們的工程名,記住,在IntelliJ IDEA裏面叫Module,呵呵
Ø 「Exploded」就是真正運行的目錄,由於咱們能夠有多個「Module」,當在ide裏面選擇運行哪一個「Module」的時候,環境將指定到哪裏目錄,而後就是「TestWeb」,這個就是咱們運行的Web程序的別名,它會自動給你加上「web」用於區分吧。而後這個「TestWeb」就是咱們當前環境的目錄了,若是你仔細看,你會發現,這個目錄符合咱們發佈到容器裏面的目錄,個人意思是說,在「WEB-INF」下面居然會有「classes」、「lib」目錄,原來才知道這都是由容器自動完成,只是開發目錄和日常的目錄有變化,可是運行目錄沒有區別。
Ø IntelliJ IDEA不支持自動編譯,也就是說不能像Eclipse那樣,自動編譯class,IntelliJ IDEA必須由咱們Make進行。
Ø IntelliJ IDEA不支持熱發佈,咱們日常在Eclipse裏面改頁面的時候不須要啓動容器,直接就能刷新過來了,可是IntelliJ IDEA不行,由於須要Make,和輸出(out),這裏須要一些技巧,立刻就講到。
IntelliJ IDEA部署技巧
Ø 上面的目錄結構,都是工具默認的,這裏咱們改變它的目錄結構,來提升開發效率。
Ø 剛纔說到,IntelliJ IDEA不支持熱發佈,就由於改個頁面咱們去重啓容器,是很浪費時間的,也很麻煩。咱們經過改變目錄來解決這個問題。
n 在「Project Settings」裏面「Modules」也就是咱們工程的名字,而後「Paths」,這是沒改爲前的圖:
n 咱們把目錄改變後的以下:
而後咱們「Make Module「,發現文件都編譯到classes下了。和咱們之前的同樣了吧。哈
n 而後仍是在「Project Settings」裏面,「Modules」而後點來你右邊的Modules名字,你會發現有個Web的子節點,這裏記得光標要放在「Web」節點上,而後看右邊有個配置頁面,未改變前如圖:
到這裏,你會發現有個Web Facet Exploede Directory,而後咱們改變這個目錄,指向當前工程的Web跟節點便可。
n 以下圖:
*:注意 Exclude from module content勾去掉,否則會有webroot不見了的現象
n 而後咱們啓動容器,隨便的編輯頁面,而後點擊刷新,發現頁面當即能顯示出來了,哈,這樣開發是否是省去不少重啓容器的時間,呵呵。