1. 程式人生 > >IntelliJ IDEA WEB專案的部署配置

IntelliJ IDEA WEB專案的部署配置

1.前言

    雖說Intellij IDEA已經用了四個多月,裡面大部分功能還是比較熟悉的,但是很多細節地方還是搞不清楚,這幾天公司另一個小組也換成了Intellij IDEA,幫他們遷移專案的時候,因為是非maven專案,遇到了很多問題,自己又研究了一番,下面整理一下

2.專案配置(Project Structure

2.1 Project 

project compliler output:配置的是專案中的預設編譯輸出總目錄

裡面英文也說明了,每個模組可以自己設定特殊的輸出目錄   所以這個基本上沒用

2.2 Modules

專案的模組,一個專案中可以有多個子專案,每個子專案相當於一個模組

一般我們專案只是單獨的一個,所以只需要配置一個模組,我們可以給模組新增框架

根據我們專案中的使用到東西,新增對應的框架,並在框架裡面確定一下相關的配置檔案(因為不同IDE下,專案的檔案結構可能不同 所以匯入的專案我們要注意一下配置)

模組配置根目下  分為了三個標籤:Sources—— Paths—— Depedencies

Sources標籤下 主要顯示專案的目錄資源  那些是專案部署的時候需要的目錄 有顏色提示

(比如綠色是測試目錄 橘色是target的目錄 這些部署的時候都不需要  大紅色是我的專案下沒有的 藍色是真正需要部署) 

Paths標籤下 


可以指定專案的編譯輸出目錄 也就是專案類 和 測試類的編譯輸出地址(替換掉了Project的預設輸出地址)

Depedencies是專案的依賴

我們可以點選右側的+號  新增lib  比如tomcat的lib  預設加進來就是Provided 

(和maven的裡面的jar依賴差不多)

Provided 也就是專案部署的時候是忽略的 只是再編譯專案的時候進行使用

Compile 是跟隨著專案部署的  Test也是不部署的

2.3 Libraries

裡面可以新增專案jar包 並且可以把多個jar放在一個組裡面  類似於jar包整理

這個下新增的jar 會在Depedencies中顯示(反之不可以)

2.4 Facts

專案的門面,說實話,真不知道這個是幹嘛的,和modules差不多,主要是為了確認一下吧

2.5 Artifacts

專案的打包部署設定,這個是專案配置裡面比較關鍵的地方

注意紅框的地方

第一個是我們需要新增專案的部署包 注意選擇是exploded的war包

第二個是專案的輸出目錄 非maven專案這個可以設定到任何地方 

( maven專案的需要特殊注意 這個後面再說)

第三個是輸出結構(output layout) 參考圖中的幾個檔案 

(maven專案如果不使用maven的打包編譯  注意圖中WEB-INF下的lib要有專案部署的jar)

3.非Maven專案的建立部署

建立File——New Project——Java——Web Application

(注意New Project裡面不是選擇的web 而是java)

intellij中web專案 預設網頁根目錄是web 

專案配置可參考2中的幾個地方 根據自己的需求自己修改

artifact中out directory 可以指定到任何地方 專案打包編譯到指定的目錄下  

在intellij中啟動tomcat  都會以對應war包out directory的設定的目錄為工作空間

4.Maven專案的部署

在intellij中 maven專案還是可以按照maven的打包編譯 參考圖中的幾個生命週期 手動去執行

因為maven專案的約定 是專案打包編譯到 target目錄下  

所以我們在2中配置都應該去遵循maven的配置約定進行修改

這樣我們的專案在檔案修改或者熱部署的時候  intellij的編譯才能和maven專案保持一致 

(如果是在intellij中建立maven專案 那個intellij會給你配置好所有的配置  

基本不用修改 我們可以建立一個springmvc的例子進行參考)

需要注意的地方是:

maven專案  artifact中out directory 的目錄名 

一定要和pom檔案中build的finalName一致

另外pom檔案中 要配置<packaging>war</packaging>

比如pom中配置的專案bulid finalName叫做ROOT

那麼我們的out directory為  E:\專案積累\test1\target\ROOT

通過maven編譯以及打包專案後

在伺服器的配置中,可以去掉下圖紅色區域的兩個選項,避免每次啟動時都重新編譯和打包


5.總結

    本文基本總結了intellij中web專案部署的問題,以及如何去配置,因為網上也沒有很具體的說明,所以這些都是自己摸索出來的,有不對的地方歡迎大家指正