Intellij IDEA配置tomcat(非maven專案)
前言:
為什麼我要選擇intellij idea呢?原因有三
1.以前公司的專案 在myeclipse10中不穩定 myeclipse說不定什麼時候就崩潰卡死了 而intellij很穩定
2.介面高階洋氣 用我朋友的話說 看著跟搞蘋果開發一樣
3.專案的支援上比較好 基本上web專案都可以匯入進來
比如mybatis的官方專案 是maven的 在myeclipse中就不能直接匯入
intellij支援了 目前基本上所有的專案 尤其是maven專案
下面步入正題:
1.黑色主題 中文亂碼修改
修改黑色主題 Settings->Appearences ->Themes->Darcula 系統提示重啟載入主題
重啟後Settings->Appearences ->勾選Override default fonts by
出現這種情況 不用害怕
只用隨便選擇一個亂碼的 點選儲存 中文漢字就出來了
2.WEB專案的部署 以及自動編譯
Intellij中 web的程式 部署 不同於myeclipse和eclipse
需要把專案打成一個Artifacts(成品包)的war包 然後在 配置的tomcat的Deployment中選擇對應的war包
我要強調的是 非maven的專案 比如網上下載的eclipse或者myeclipse專案
首選要檢查專案設定 F4 或者 Ctrl+ALT+SHIFT+S 或者 快捷欄中 點專案設定
以JFinal專案為例子 匯入專案後 開啟專案設定
1.首先修改Modules 選擇 SDK 也就是你係統上的JDK 然後把專案中的不支援紅色的選項去掉
2.新增專案的型別 支援
比如你這個專案 是Spring的專案 可以加上Spring 以及在對應Spring的配置中 手中選中spring的配置檔案
加上Web專案的支援 制定web.xml的路徑 以為web的目錄
如果是maven專案 這些都不用管 但是非maven專案 因為目錄結構不同 IDEA預設找的 專案下的web目錄
所以專案往往不能正確部署 或者部署不正確 都是這個地方的原因
這個Modules 設定正確後 就可以建立Artifaces了 IDEA右下角也會提示你的Create Artifaces
3.新增專案的lib依賴
需要選擇專案中的 web-inf中的lib 預設是不會自動加進來的
如果是maven專案 這個就不要管了
4.選擇Artifaces的exploded war包 (如果是之前點選右下角系統的提示建立 就不用這樣了)
5修改專案的輸出目錄
修改專案的編譯輸出目錄 最好改為 jfinal_demo_for_jsp\target\ROOT(或者專案名)
因為maven的編譯目錄就是target目錄 所以我們最好也按照maven的規則
6.專案 在伺服器中的部署
選中我們的artifaces的war包 右邊可以自定義專案的訪問 名
左下角是 我們的專案 在伺服器第一次啟動時 需要做的事情 1.編譯java類 2.打包部署war
這兩個專案編譯執行過 就可以給兩個去掉了 以後我們再啟動專案 就不用在去編譯打包部署了
7.專案的伺服器配置
在伺服器配置中 注意幾個地方
1.start browser 專案啟動後 自動開啟瀏覽器 訪問對應的連線
2.on update action :當發現更新時的操作 選擇update classes and resources
on frame deactivation: 當IDEA 切換時的操作 (比如縮下去 開啟網頁) 選擇update classes and resources
也就是 自動編譯 自動部署的功能 很多人說Intellij IDEA 不能自動編譯 就是這個這個地方沒設定好
3.可以選擇埠 一個是jvm的埠 一個是tomcat的埠 如果我們同時執行多個專案 可以選擇修改埠 就能直接同時執行多個專案
4.專案執行後 這兩個就不需要了
或者我們是maven專案 直接可以在maven中 packages 打包 編譯 這兩個也都不需要了
然後啟動專案 就會彈出我們的專案首頁了
總結一下 裡面需要注意的幾個地方
1.modules裡面 新增專案型別 以及配置檔案是否指定正確
2.lib檔案的新增
3.artifacts 選擇exploded 的war包 選擇編譯目錄
4.服務起中 配置 熱部署 埠 等
3.多專案的同時部署
intellij中工作空間和專案的概念和 myeclipse稍微有點不同 這個大家可以檢視相關資料
之前@黃勇 大哥發的java框架對比 就是一個專案中 有多個modules
因為黃勇的專案 都是maven專案 就沒有過多需要修改配置的地方
當時modules和artifacts裡面好像都沒有修改 多個子專案 可以在tomcat的deployment 同時部署
只用給每個專案 在右側修改一下專案名字就OK了
4.相關外掛提高工作效率
1.JRebel外掛 實現熱部署
可以整合JRebel 實現熱部署 安裝Tasks外掛 整合JIRA等任務管理
1.修改idea.properties 在intellij的安裝目錄 bin\目錄下
修改到你的非C盤目錄目錄下 預設使用的 # idea.config.path=${user.home}/.IntelliJIdea/
這樣的好處是 當你更換系統時 intellij的配置和外掛都在 可以直接繼續使用
2.安裝JRebel外掛
Settings - Plugins - Browse repositories... 搜尋JRebel 然後右鍵 Download and Install
外掛會下載 安裝在 E:\.IntelliJIdea\config\plugins 也就是剛才配置的 config\plugins下
3.JRebel 破解 需要替換E:\.IntelliJIdea\config\plugins\jr-ide-idea\lib\jrebel 下的jrebel.jar
以及在intellij中 指定對應的lrc檔案
然後重啟下intellij JRebel就可以使用了 熱部署效果非常的好
修改東西都不用重啟 而且專案在長期執行中也不會出現崩潰 (以前熱部署遇到過session崩潰的問題)
如果是maven專案 修改配置檔案也都不用重啟 比如mybatis的xml檔案等
除了web.xml修改好像需要
4 如果JRebel不起作用 可以使用下面的方法
在Modules下 新增JRebel的支援 勾選 並點選後面的Generate rebel.xml
在你專案的配置檔案中找到生成的rebel.xml 你會發現 它裡面有兩個目錄
一個是java類的編譯目錄 一個是webroot的目錄
也就是JRebel的監控目錄 它會監控那個兩個目錄 如果發生檔案變化 就在記憶體中重新載入對應的資源
非maven專案的靜態資源發生變化後 如果不能熱部署 可能就是JRebel監控的目錄不太對
可以自己指定一下正確的目錄
2.Tasks外掛 整合任務管理
Intellij中可以安裝task外掛 與jira等任務跟蹤管理系統進行整合
安裝外掛後 會在系統工作列上顯示 任務外掛 顯示當前的任務 以及最近的任務
每個任務 可以建立不同的檢視
在不同檢視下 會自動記錄 當前任務下 修改過的頁面
所以這個功能相當的棒 當我們有多個jira任務時 可以隨時切換任務
任務完成後 我們可以根據任務對應的changelist 去提交當前任務下 修改過的檔案
破解檔案的連線地址
5.其它的一些技巧配置(未完待續)
PS:2013-11-28 Facets的作用
https://my.oschina.net/lujianing/blog/177042#OSC_h1_2