idea的使用說明,從配置到部署發佈,具體內容如下:
一:Project Structre
1.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:項目中的默認編譯輸出總目錄.
1.2 Modules 增刪子項目(可配置多個子項目)
1:設置選擇web項目
2:選擇jdk版本
3:添加缺少的jar包(後面添加完Tomcat,在這裏也添加)
4:web指定web.xml的路徑
每個子項目都對應了Sources、Paths、Dependencies 三大配置選項:
· Sources:顯示項目的目錄資源,那些是項目部署的時候需要的目錄,不同顏色代表不同的類型;
· Paths:可以指定項目的編譯輸出目錄,即項目類和測試類的編譯輸出地址(替換掉了Project的默認輸出地址)
· Dependencies:項目的依賴
圖1.2.2
增刪框架(Web部署-1)
每個子項目之下都可以定義它所使用的框架,這裏重點說明一下Web部分的設置。
1.3 Libraries
這裏可以顯示所添加的jar包,同時也可以添加jar包,並且可以把多個jar放在一個組裏面,類似於jar包整理。
1.4 Facets
官方的解釋是:
When you select a framework (a facet) in the element selectorpane, the settings for the framework are shown in the right-hand part of thedialog.
(當你在左邊選擇面板點擊某個技術框架,右邊將會顯示這個框架的一些設置)
1.5 Artifacts(Web部署-2)
項目的打包部署設置,這個是項目配置裏面比較關鍵的地方
先理解下它的含義,來看看官方定義的artifacts:
An artifact is anassembly of your project assets that you put together to test, deploy ordistribute your software solution or its part. Examples are a collectionof compiled Java classes or a Java application packaged in a Java archive, aWeb application as a directory structure or a Web application archive, etc.
即編譯後的Java類,Web資源等的整合,用以測試、部署等工作。再白話一點,就是說某個module要如何打包,例如war exploded、war、jar、ear等等這種打包形式。某個module有了 Artifacts 就可以部署到應用服務器中了
jar:Java ARchive,通常用於聚合大量的Java類文件、相關的元數據和資源(文本、圖片等)文件到一個文件,以便分發Java平臺應用軟件或庫;
war:Web applicationARchive,一種JAR文件,其中包含用來分發的JSP、Java Servlet、Java類、XML文件、標籤庫、靜態網頁(HTML和相關文件),以及構成Web應用程序的其他資源;
exploded:在這裏你可以理解爲展開,不壓縮的意思。也就是war、jar等產出物沒壓縮前的目錄結構。建議在開發的時候使用這種模式,便於修改了文件的效果立刻顯現出來。
默認情況下,IDEA的 Modules 和 Artifacts 的 output目錄已經設置好了,不需要更改,打成war包的時候會自動在WEB-INF目錄下生成classes,然後把編譯後的文件放進去。
你可能對這裏的輸出目錄不太理解,之前不是配置過了文件編譯的輸出目錄了嗎?爲什麼這裏還有一個整合這些資源的目錄呢?它又做了哪些事呢?
其實,實際上,當你點擊運行tomcat時,默認就開始做以下事情:
· 編譯,IDEA在保存/自動保存後不會做編譯,不像Eclipse的保存即編譯,因此在運行server前會做一次編譯。編譯後class文件存放在指定的項目編譯輸出目錄下(見1.2.2);
· 根據artifact中的設定對目錄結構進行創建;
· 拷貝web資源的根目錄下的所有文件到artifact的目錄下;
· 拷貝編譯輸出目錄下的classes目錄到artifact下的WEB-INF下(見1.2.2);
· 拷貝lib目錄下所需的jar包到artifact下的WEB_INF下;
· 運行server,運行成功後,如有需要,會自動打開瀏覽器訪問指定url。
二:Tomcat部署
2.(1)選擇Tomcat
2.(2)點擊"Configure...",配置Apache你從官網上下載的Tomcat,zip壓縮包解壓後的文件目錄。
2.(6)這分別是在兩種命令下的觸發的事件。這個是 IntelliJ IDEA 特有的,也是重點
On Update action 當我們按 Ctrl +F10 進行容器更新的時候,可以根據我們配置的這個事件內容進行容器更新。其中我選擇的 Update classes and resources 事件是最常用的,表示我們在按 Ctrl +F10 進行容器更新的時候,我們觸發更新編譯的類和資源文件到容器中。在 Debug 模式下,這個也就是所謂的 HotSwap。這是這種熱部署沒有 JRebel 插件那樣好用
On frame deactivation 當我們切換IntelliJ IDEA 到瀏覽器的時候進行指定事件更新,這個一般是因爲 Web 開發的時候,我們需要經常在 IntelliJ IDEA 和各個瀏覽器之間來回切換測試,所以纔有了這種需求。IntelliJ IDEA 是爲了幫我們在做這種無聊切換的時候做一些指定事情。當然了,如果切換過於頻繁,這個功能還是很耗資源的,所以我設置的是 Do nothing 表示切換的時候什麼都不做
2.(8)默認 Tomcat 的 HTTP 端口是 8080,如果你需要改其端口可以在這裏設置
第一次設置完Tomcat後,需要到Modules裏項目下添加library(即Tomcat)