我正在创建一个GAE应用程序,我正在使用WTP跟踪Eclipse中模块化GAE应用程序的建议结构,如文档here所示(参见"企业应用程序EAR")。 p>
我创建并链接了GAE的本地服务器实例,并且将EAR及其模块部署到localhost的GAE开发实例中工作正常。
然而,当我尝试“部署到App Engine" (通过Google按钮)为了将我的应用程序发布到Google远程服务器,我遇到了错误" ...(EAR项目名称)不是App Engine项目"。我还尝试使用远程地址定义一个新服务器,但是这个失败并出现错误"当前选择的服务器类型不支持远程主机"。主机名字段仅限于" localhost"作为有效的服务器地址。
我的Eclipse项目结构如下所示:
<<Enterprise Application Project>> ear-app
|
-- <<Dynamic Web Project>> app-module-1
-- <<Dynamic Web Project>> app-module-2
-- <<Dynamic Web Project>> app-module-3
-- <<Dynamic Web Project>> app-module-4
请注意,这不是单个&#34; Google / Web应用程序项目&#34;,它按预期工作(但不支持多个Eclipse项目的模块化)。 另请注意,我没有使用Maven和建议的mvn命令,如here所述。
我在Eclipse Kepler 4.3.1中使用GAE SDK 1.9.3和GPE 3.5.1。
那么如何将Eclipse WTP项目结构部署到Google远程服务器?如果这是不可能的,你建议我切换到Maven,如果是的话,这是否支持从Eclipse内部管理多模块项目?
答案 0 :(得分:1)
相当偶然,我偶然发现了解决方案:
在“服务器”视图中,右键单击本地开发服务器后,还有另一个上下文菜单条目“Google App Engine WTP / Deploy to Remote Server”。这将把EAR和所有模块部署到Google基础架构。 “服务器”视图的菜单中还有一个“Google App Engine WTP”按钮,提供相同的选项。
坦率地说,我发现这是一个非常不一致的UI实现:如果我们创建一个Google Web Application类型的项目,那么主菜单中的Google按钮就会生效,上下文菜单可以找到“Google ...” 。当我们在WTP样式中创建多模块EAR结构时,这些变得无效(但仍然存在)。这将在不同的位置创建一组不同的按钮和上下文菜单条目,然后LOCAL服务器的上下文菜单将支持部署到REMOTE服务器。
更新: 使用GAE工具几周后,我终于切换到命令行选项(appcfg)进行远程部署。我在GPE中遇到了部署回滚的其他错误(在Eclipse中失败但与appcfg一起使用)。我推荐appcfg作为Google基础架构的管理工具,它提供了更多的控制,它比Eclipse插件更成熟。