[英]How to debug a Tomcat 7.x/8.x webapp locally with IntelliJ Community (free) version in Linux?
我知道這可能與 Ultimate Edition 有關,但是有沒有辦法在 Community Edition 中本地調試這些應用程序?
如果您使用過 IntelliJ Ultimate 版,您就會看到可以添加 Tomcat 配置,您可以在其中從 IntelliJ 中調試或運行您的 Tomcat 容器。 通過一些額外的設置,可以讓您的 IntelliJ 社區版本為您做同樣的事情。
這是Tomcat的遠程監控管理工具。 啟用調試不需要 JMX 相關設置。 雖然它對於通過 JConsole 進行監控很有用( 閱讀更多)。
您的 Tomcat 實例必須已經啟動並運行,社區版本才能將其自身附加到 Tomcat 進程。 雖然您的 tomcat 將在一個端口上運行(Tomcat 默認為 8080),但您還需要為調試器設置另一個端口以將其自身附加到您正在運行的 Tomcat 版本(在我們的示例中為 9999)。
設置包括您需要對 Tomcat 進行的更改以及您需要在 IntelliJ 社區版本上進行的配置。
請按照更改順序。
如果 Tomcat 在 Tomcat bin 文件夾中運行,請通過以下./catalina stop
Tomcat: ./shutdown
或./catalina stop
將以下行添加到 catalina.sh 文件中注釋的 JAVA_OPTS set 語句下:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999"
提示:我使用的是
JAVA_OPTS
而不是CATALINA_OPTS
因為 catalina.sh 中的注釋表明最好使用JAVA_OPTS
。 但是,可以以類似的方式使用CATALINA_OPTS
來啟用調試。
./catalina.sh 開始
單擊 IntelliJ 社區版中的調試按鈕后,您的調試部分應打開,並在其控制台區域中顯示以下行:
連接目標VM,地址:'localhost:9999',傳輸:'socket'
AmirHd 的回答很有幫助,但我還有一個問題。 當我更改 JAVA_OPTS 服務器時不會像這篇文章中那樣關閉: Tomcat failed to shutdown我通過更改解決了這個問題
JAVA_OPTS
到
CATALINA_OPTS
@AmirHd 的回答非常有幫助。 我使用的是 Idea Community 版本,您實際上根本不需要安裝任何 Tomcat 插件。
catalina.sh
(在 Linux 中)文件的頂部添加以下行。JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
Run
菜單。 選擇Edit Configuration
選項。Remote
。Listening for transport dt_socket at address: 5005
Alt + Shift + F9
或Run -> debug
選項,使用您的 Idea 連接到該端口。根本沒有插件。
放
set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
在 catalina.bat 中行然后在 tomcat 目錄中打開命令行並運行
catalina.bat run
另請注意:我必須選擇端口 5005,因為 IntelliJ 中配置設置中的默認端口不可編輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.