我知道这可以与Ultimate Edition一起使用,但有没有办法在Community Edition中本地调试这些应用程序?
答案 0 :(得分:29)
如果您使用过IntelliJ Ultimate版,您已经看到可以添加Tomcat配置,您可以从IntelliJ中调试或运行Tomcat容器。通过一些额外的设置,可以让你的IntelliJ社区版本为你做同样的事情。
这是Tomcat的远程监控和管理工具。启用调试不需要JMX相关设置。虽然它可以通过JConsole(read more)用于监视目的。
您的Tomcat实例必须已经启动并且正在运行,因为社区版本能够将自身附加到Tomcat进程。虽然您的tomcat将在端口上运行(Tomcat默认为8080),但您还需要为调试器设置另一个端口以将其自身附加到正在运行的Tomcat版本(在我们的示例中为9999)。
设置包括您需要对Tomcat进行的更改以及您需要在IntelliJ社区版上进行的配置。
请按照更改中的顺序进行操作。
如果Tomcat正在Tomcat bin文件夹中运行,请停止它:
./shutdown
或./catalina stop
在注释的JAVA_OPTS集声明下将以下行添加到catalina.sh文件中:
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 start
点击IntelliJ社区版中的调试按钮后,您的调试部分应在其控制台区域中打开以下行:
连接到目标虚拟机,地址:' localhost:9999',传输:' socket'
答案 1 :(得分:1)
AmirHd的回答非常有帮助,但我还有一个问题。当我更改JAVA_OPTS时,服务器不会在此帖子中关闭: https://docs.djangoproject.com/en/1.11/intro/tutorial01/ 我通过改变
解决了这个问题JAVA_OPTS
到
CATALINA_OPTS
答案 2 :(得分:0)
把
set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
在catalina.bat中排队 然后在tomcat目录中打开命令行并运行
catalina.bat run
另请注意:我必须选择端口5005,因为我的IntelliJ配置设置中的默认值不可编辑。
答案 3 :(得分:0)
@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连接到该端口。完全没有插件。