我正在开发一个将部署到GAE的GWT应用程序。我已经安装了Google-Eclipse插件,该插件还拉取了GWT和GAE SDK。但是,现在我坐下来认真思考问题后,我对如何在本地计算机上同时调试和运行应用程序变得非常困惑。
通常,当我有一个Java Web应用程序(我部署到Tomcat;我只熟悉它)时,我的选项如下:
- 为我的应用程序创建一个远程调试配置,在本地Tomcat容器中部署WAR文件,但以这种方式可以从Eclipse内部进行调试(设置断点,逐步执行服务器端代码)。 - 只需将其部署到Tomcat容器中,启动浏览器并在http://localhost:8080/MyApp处使用/手动测试本地应用程序。
我想做到同样的事情,但是对于GWT和GAE,两者都有很多选项,并且当您在同一台计算机上将它们配对时(像我这样的新手),它们变得更加混乱:
最终,我想能够执行以下操作:
- 直接从Eclipse内部调试服务器应用程序,包括设置断点、逐步执行代码等。 - 直接从浏览器插件(如Firebug或Chrome Developer Tools)内部调试客户端应用程序,包括设置断点、逐步执行代码等。 - 直接从Eclipse内部调试应用程序(同时调试客户端和服务器端代码),包括设置断点、逐步执行代码等。 - 与上述相同,但是服务器在不同的(远程)计算机上运行。这样我就可以从我的开发机器上的Eclipse实例中调试我的应用程序,因为它正在我的QA机器/环境上运行。 - 在本地运行应用程序并模拟生产环境;也就是说,将后端部署到我的GAE应用程序开发服务器,并打开浏览器并转到正确的URL以访问由本地GAE dev appserver提供的应用程序。
我认为我的困惑根源在于GWT和GAE SDK都以所谓的“dev模式”运行,并且因为它们处理不同的层次(客户端和服务器),如果需要隔离它们或者需要同时测试它们,很难理解需要哪些设置/配置。非常感谢您的帮助!
通常,当我有一个Java Web应用程序(我部署到Tomcat;我只熟悉它)时,我的选项如下:
- 为我的应用程序创建一个远程调试配置,在本地Tomcat容器中部署WAR文件,但以这种方式可以从Eclipse内部进行调试(设置断点,逐步执行服务器端代码)。 - 只需将其部署到Tomcat容器中,启动浏览器并在http://localhost:8080/MyApp处使用/手动测试本地应用程序。
我想做到同样的事情,但是对于GWT和GAE,两者都有很多选项,并且当您在同一台计算机上将它们配对时(像我这样的新手),它们变得更加混乱:
最终,我想能够执行以下操作:
- 直接从Eclipse内部调试服务器应用程序,包括设置断点、逐步执行代码等。 - 直接从浏览器插件(如Firebug或Chrome Developer Tools)内部调试客户端应用程序,包括设置断点、逐步执行代码等。 - 直接从Eclipse内部调试应用程序(同时调试客户端和服务器端代码),包括设置断点、逐步执行代码等。 - 与上述相同,但是服务器在不同的(远程)计算机上运行。这样我就可以从我的开发机器上的Eclipse实例中调试我的应用程序,因为它正在我的QA机器/环境上运行。 - 在本地运行应用程序并模拟生产环境;也就是说,将后端部署到我的GAE应用程序开发服务器,并打开浏览器并转到正确的URL以访问由本地GAE dev appserver提供的应用程序。
我认为我的困惑根源在于GWT和GAE SDK都以所谓的“dev模式”运行,并且因为它们处理不同的层次(客户端和服务器),如果需要隔离它们或者需要同时测试它们,很难理解需要哪些设置/配置。非常感谢您的帮助!