IntelliJ IDEA與Tomcat整合的除錯設定
我們公司使用的Java AP Server主要都是使用Resin Server,最近因為一些因素開始試用Apache Tomcat,因此特別研究了IntelliJ IDEA與Tomcat整合時的除錯操作,以下是設定的心得。
Tomcat本地端除錯設定 (Local Debug)
- 啟動IDEA,確認有安裝了Tomcat Integration plugin。
- 由功能表做 Run/Debug 設定
- 【Run】→【Edit Configurations...】
- 按左上角的+號並新增Tomcat Server的Local設定
- 按【Application server】最右方的〔Configure...〕,並於彈出視窗中指定Tomcat的系統目錄。如果專案使用的HTTP Port不是8080,記得同步修改設定裡的欄位。
〔Configure...〕畫面裡的Libraries裡再加入c:\apache-tomcat-7.0.32\common\classes資料夾
- 切換到「Startup/Connection」分頁,按加號增加環境變數CATALINA_BASE,並設定其值為Tomcat的系統目錄。Run和Debug都分別新增後按〔OK〕儲存。執行DEBUG時要注意Tomcat系統目錄/bin裡是否有setenv.bat並設定了remote debug的5005 port,若有則會造成IDEA Debug報錯,執行Debug前先將setenv.bat 改名就能避免此錯誤。如果專案使用的JDK不是1.6版,則必須再增加環境變數 JRE_HOME (或JAVA_HOME)並設定其值為為1.6版的JDK系統目錄(例如:JRE_HOME=C:\JDK1.6-64),因為Tomcat 7.0使用JDK 1.6,若沒有指定JRE_HOME則預設會使用專案的JDK,後果是導致Tomcat啟動失敗。
- 【Run】→【Edit Configurations...】
- 用【Run】→【Debug 'Tomcat'】開始除錯。螢幕下方會出現運行時的訊息
- 開啟一個系統裡的.jsp檔,在Java程式某行左側加上中斷點
- 到IDEA自動開啟的瀏覽器裡瀏覽專案網頁,當執行到有設定中斷點的JSP時,IDEA會進入除錯誤模式,此時就能用Run選單裡的Step Over (F8鍵)、Step In(F7鍵)、Resume program(F9鍵)等功能鍵來除錯了。
Tomcat遠端除錯設定 (Remote Debug)
當要除錯的Tomcat不是在本地端,或不是由IDEA啟動而是獨立執行的Tomcat,此時就必須使用遠端除錯。
- 由【Run】→【Edit Configuration...】新增Tomcat Server→Remote
- 變更組態名稱為Tomcat-Remote後切換到Startup/Connection分頁,點擊Debug並複製「-Xdebug -Xrunjdwp:transport=dt_socket,address=31284,suspend=n,server=y」。為了與慣用的Resin remote debug相容,可以將Port 31284修改為5005。
- 在c:\apache-tomcat-7.0.32\bin新增setenv.bat,加入以下內容:
SET CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,suspend=n,server=y
4. 執行c:\apache-tomcat-7.0.32\bin\startup.bat以啟動Tomcat
5. 點擊IDEA的【Run】→【Debug 'Tomcat-Remote'】,當網頁執行到中斷點時IDEA會進入除錯狀態。
##
您可能也會有興趣的類似文章
- 使用IntelliJ IDEA學習Java程式設計 (IDEA #1) (0則留言, 2019/07/14)
- 使用IntelliJ IDEA建立Spring Boot專案 (0則留言, 2016/03/18)
- 原來IntelliJ IDEA也有中文的網站 (0則留言, 2008/08/22)
- 用IntelliJ IDEA的GUI Designer開發Swing程式 (0則留言, 2014/02/14)
- 如何在啟動IntelliJ IDEA idea64.exe時指定特定JDK (0則留言, 2015/11/14)
- IntelliJ IDEA與Subversion Version Control System的整合操作 (0則留言, 2013/07/20)
- 由桌面啟動IntelliJ IDEA 14 64-bit執行檔 (0則留言, 2014/11/07)
- 方便的IntelliJ IDEA資料庫功能 (0則留言, 2013/07/19)
- [Windows] IntelliJ IDEA自動偵測Windows Defender的排除資料夾設定 (2則留言, 2019/08/24)
- [IntelliJ IDEA] Java / JavaScript除錯小技巧 (0則留言, 2014/08/14)
- Migration Guide: Eclipse ✈ IntelliJ IDEA (0則留言, 2015/07/07)
- 使用IntelliJ IDEA 12的Android UI Designer輕鬆寫Android App (1則留言, 2012/08/09)
- IntelliJ IDEA逐步除錯的步驟與除錯演練(IDEA #7) (0則留言, 2019/08/18)
- IntelliJ IDEA的啟動設定與建議安裝的外掛(IDEA #3) (0則留言, 2019/07/21)
- 方便的IntelliJ IDEA Markdown外掛idea-multimarkdown (0則留言, 2015/11/14)
Sorry, 很久沒用Google sc…