Java 如何在Linux中使用IntelliJ社区(免费)版本在本地调试Tomcat 7.x/8.x webapp?
我知道这在Ultimate Edition中是可能的,但是有没有办法在Community Edition中本地调试这些应用程序?History 如果您使用过IntelliJ Ultimate edition,您会发现可以添加一个Tomcat配置,您可以从IntelliJ中调试或运行Tomcat容器。通过一些额外的设置,您可以让IntelliJ社区版本为您做同样的事情 相关概念 Tomcat JMX 这是Tomcat的远程监视和管理工具。启用调试不需要与JMX相关的设置。尽管它对于通过JConsole()进行监视非常有用 不同端口 您的Tomcat实例必须已经启动并运行,社区版本才能将自身连接到Tomcat进程。虽然tomcat将在一个端口上运行(tomcat默认值为8080),但您还需要为调试器设置另一个端口,以便将其自身连接到正在运行的tomcat版本(在我们的示例中为9999) 设置 设置包括您需要对Tomcat进行的更改以及需要在IntelliJ社区版上进行的配置 请按照顺序进行更改 Tomcat侧相关更改Java 如何在Linux中使用IntelliJ社区(免费)版本在本地调试Tomcat 7.x/8.x webapp?,java,tomcat,intellij-idea,Java,Tomcat,Intellij Idea,我知道这在Ultimate Edition中是可能的,但是有没有办法在Community Edition中本地调试这些应用程序?History 如果您使用过IntelliJ Ultimate edition,您会发现可以添加一个Tomcat配置,您可以从IntelliJ中调试或运行Tomcat容器。通过一些额外的设置,您可以让IntelliJ社区版本为您做同样的事情 相关概念 Tomcat JMX 这是Tomcat的远程监视和管理工具。启用调试不需要与JMX相关的设置。尽管它对于通过JConso
/shutdown
或/catalina stop
JAVA\u OPTS
而不是CATALINA\u OPTS
,正如CATALINA.sh中的注释所示,我更喜欢使用JAVA\u OPTS
。但是,可以以类似的方式使用CATALINA_OPTS来启用调试
AmirHd的回答很有帮助,但我还有一个问题。当我更改JAVA_OPTS时,服务器不会像本文中那样关闭: 我通过改变来解决这个问题
JAVA_OPTS
到
适用于Windows用户
放
catalina.bat中的行
然后在tomcat目录中打开命令行并运行
catalina.bat run
另请注意:我必须选择端口5005,因为IntelliJ中配置设置中的默认端口不可编辑。@AmirHd的回答非常有用。我使用的是Idea社区版本,实际上您根本不需要安装任何Tomcat插件
catalina.sh
(在Linux中)文件顶部添加下一行Run
菜单。选择编辑配置选项Remote
Alt+Shift+F9
或Run->debug
选项,使用您的想法连接到该端口完全没有插件。谢谢你,阿米尔。您是否能够将tomcat配置为与“热部署”一起工作?这是有用的。谢谢。非常感谢,与Tomcat 8.5.9和IntelliJ IDEA CE 2016.3.1完美配合,JAVA_选项也可以在setenv.sh(setenv.bat for Windows)文件中设置。
set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
catalina.bat run
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
Listening for transport dt_socket at address: 5005