0

在我的 Windows 开发机器上,我设置了 IntelliJ 以通过 Apache Webserver 运行我的静态 html,并使用 Tomcat 运行 GWT-RPC 服务。除了调试 GWT-RPC 服务的服务器代码外,一切正常。是否仍然可以以这种方式调试 GWT-RPC 服务器代码?

4

3 回答 3

2

这是我的做法:

  1. 在 IntelliJ 中配置 tomcat 服务器实例,并确保您可以在没有 GWT 调试器的情况下启动您的应用程序。换句话说,在您的 IntelliJ IDEA 中编辑配置并添加 tomcat 本地服务器,然后选择要部署到 tomcat 的 war 文件
  2. 通过 IntelliJ 在调试模式下启动你的 tomcat
  3. 确保您可以打开您的应用程序,并且它可以在您希望它工作的 URL 上工作,应该是这样的http://localhost:8080/applicationContextThatYouSpecifiedInTomcatDeployentTabConfiguration
  4. 确保现在您可以通过单击应用程序内部并检查请求是否在服务器上的适当断点处停止来调试服务器端。
  5. 在 IntelliJ 中创建 GWT 运行配置
    • 确保您将开发模式参数设置为“-noserver -bindAddress 0.0.0.0” noserver 意味着当您从 intelliJ 启动 GWT 配置时,它不会启动嵌入式服务器,因为我们现在使用 Tomcat 作为我们的服务器。
  6. 在调试模式下通过 IntelliJ 运行 GWT 配置 - 是的,您现在有两种配置同时运行:一种用于客户端(GWT)调试,另一种用于服务器端(Tomcat)调试。
  7. 现在,在您的浏览器中,在 URL 的末尾添加 text ?gwt.codesvr=127.0.1.1:9997。例如,如果在 URL 中你有http://localhost:8080/hiThereMyApp/index.html新的 URL 应该看起来像http://localhost:8080/hiThereMyApp/index.html?gwt.codesvr=127.0.1.1:9997

PS 有时浏览器的 gwt 插件会抱怨 127.0.1.1 主机不允许作为 GWT 代码库,在这种情况下尝试替换127.0.1.1localhost或您计算机的 ip 地址,或者尝试配置浏览器的 GWT 插件以实际允许您想要的 gwt 代码库。

于 2013-10-18T17:34:44.273 回答
0

我理解你正确吗?

  • 您有一个 GWT 应用程序在 intelliJ 的开发模式 hostet 中运行
  • 你有这个应用程序的服务器部分在tomcat中运行hostet吗?

如果是这样,您应该使用启用的远程调试启动您的 tomcat并连接您的 intelliJ。

于 2013-10-17T20:29:33.310 回答
0

好的,我现在可以使用描述的设置调试服务器代码:

为了完整起见,我包括了我已经知道并完成的步骤:

首先,您必须配置 Tomcat 以支持远程调试。这在 Christian Kuetbach 在他的回答中给出的链接中有所描述。简而言之,它为 jvm 添加了两个选项:

-Xdebug

-Xrunjdwp:transport=dt_socket,address=<yourport>,server=y,suspend=n

(我已经做了这一步)

第二步是我需要帮助的地方,配置 IntelliJ。

您必须包含远程运行/调试配置。在此配置中,您需要从步骤 1 中指定端口。此外,在开始 GWT 调试之前,您必须启动此远程调试配置,以便它将连接到 Tomcat 调试套接字。

现在您可以在同一个 IntelliJ 会话中调试客户端代码和服务器代码。

于 2013-10-18T07:30:15.200 回答