是否可以使用IntelliJ 9 Community Edition在REMOTE服务器上调试GWT客户端代码?

时间:2010-04-13 12:03:35

标签: java gwt intellij-idea

我正在尝试将我们的Google Web Toolkit(GWT)开发从Eclipse迁移到IntelliJ 9社区版。到目前为止,我已经能够通过GWT Maven插件及其嵌入式Jetty容器成功运行和调试客户端/服务器代码。

但是,当客户端代码已在远程计算机上运行时,我无法调试它(因此不需要嵌入式Jetty容器)。

有没有人成功实现这一目标?任何帮助将不胜感激!

更新:我终于能够做到这一点。请在下面看到我自己的答案......

2 个答案:

答案 0 :(得分:21)

我终于能够通过使用GWT的DevMode类完成此任务,如the documentation中所述。

简而言之 -

  • 将您的项目添加到IntelliJ 9社区版
  • 添加应用运行/调试配置
  • 使用 com.google.gwt.dev.DevMode 作为主类(确保将gwt-user和gwt-dev jars包含在项目类路径中。请参阅here)< / LI>
  • 添加以下程序参数:

    -noserver -war“[爆炸战争的完整路径]”-gen“[生成文件的完整路径]”-logLevel INFO -port [远程服务器端口] -startupUrl“[URL远程页面]“[com.company.YourEntryPoint]

这样,DevMode运行器将不会实例化内置容器,并允许以原始Java形式调试远程服务器的JavaScript。

请注意,对于不需要调试远程客户端代码的构建,您可以使用Maven或Ant集成,这样更简单。我对webAppCreator生成的build.xml没有任何经验,但是使用Maven,您只需使用以下参数运行gwt:run或gwt:debug目标:-DrunTarget =

希望它有所帮助!

答案 1 :(得分:1)

当运行部署在远程服务器上的GWT应用程序时,应用程序的客户端部分将被翻译成javascript,因此我认为您无法从IntelliJ调试此内容。应用程序的服务器端部分仍然是Java代码。您应该能够使用java调试参数启动此远程服务器(诸如transporttype和要侦听的端口之类的东西)。从IntelliJ,您应该能够使用相同的传输类型和端口启动远程调试会话。 如果你研究远程调试,你应该能够找到如何做到这一点。