使用模块在Eclipse中创建Google应用程序引擎项目
根据cloud.google.com上的建议,我一直在用Eclipse和Maven编写一个GAE应用程序。最近,我需要使用“后端”或一组不同的实例来处理某项任务。我发现“后端”已经被弃用,取而代之的是“模块”。在过去的几天里,我一直在尝试设置使用模块的项目,但进展甚微 我所要做的就是将不同的URL分派到不同的实例集(使用modules和dispatch.xml)。有人知道我如何转换现有的Eclipse项目来实现这一点吗?我甚至愿意做一个新项目 我需要我的模块来: 1) 使用原始应用程序中的共享源代码/类 2) 具有不同数量的常驻实例 3) 遵守dispatch.xml中的规则使用模块在Eclipse中创建Google应用程序引擎项目,eclipse,google-app-engine,maven,ear,gae-module,Eclipse,Google App Engine,Maven,Ear,Gae Module,根据cloud.google.com上的建议,我一直在用Eclipse和Maven编写一个GAE应用程序。最近,我需要使用“后端”或一组不同的实例来处理某项任务。我发现“后端”已经被弃用,取而代之的是“模块”。在过去的几天里,我一直在尝试设置使用模块的项目,但进展甚微 我所要做的就是将不同的URL分派到不同的实例集(使用modules和dispatch.xml)。有人知道我如何转换现有的Eclipse项目来实现这一点吗?我甚至愿意做一个新项目 我需要我的模块来: 1) 使用原始应用程序中的共享源
我希望我的项目在eclipse中运行,并使用gradle或maven。我最后做的是在eclipse中创建一个新的企业应用程序项目,将代码和配置复制到新的文件结构中,然后将该项目作为maven项目重新导入。现在看来一切正常。我也有同样的问题,我用这种方法解决了 Appstart()一个基于maven的多模块应用程序引擎应用程序样板,演示了Guice、Jersey、Objectify、Cloud EndPoints等技术的使用,有3个模块:fronend模块、backend模块和common模块,其中包括包括模型在内的所有公共类,这将向您展示一个如何管理公共代码的示例。该文件夹包含以下模块/maven项目
- appstart后端
- 应用程序启动公用程序
- 应用启动耳
- 应用程序启动前端
<!-- Common module dependency -->
<dependency>
<groupId>uk.co.inetria.appstart</groupId>
<artifactId>appstart-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
uk.co.inetria.appstart
应用程序启动公用程序
1.0-快照
当您更改公共代码时,可以运行mvn clean,然后从appstart ear目录进行安装,并且它应该更新所有相关项目。我希望这有帮助这里是我用eclipse开普勒创建的多模块项目的演练 1) 将mymodule1创建为普通的动态web项目 设置目标运行时:谷歌应用程序引擎(x.x.x) 设置将项目添加到ear:已选定 设置EAR项目名称:myear 这将创建两个eclipse项目,一个与模块关联,另一个与ear文件关联: mymodule1 迈尔 在这两个项目的appengine-application.xml中
<application></application>
同时保留您的GAE项目名称(例如MyGAE项目-11111)
您应该已经在云控制台中创建了这个名称,它将包含多个模块
2) 在mymodule1的appengine-application.xml中
<application>mygaeproject-11111</application>
mygaeproject-11111
加上
<module>mymodule1</module>
mymodule1
(否则,稍后会出现“多个条目具有相同密钥”异常)
3) 在mymodule1的appengine-application.xml中,添加要在其上运行模块的实例类(在appengine web app中),例如:
<instance-class>F2</instance-class>
F2
3) 从项目菜单中清除mymodule1和myear。如果您愿意,现在可以将myear部署到本地google应用服务器
4) 您还需要一个默认模块来部署到生产服务器上,因此将mymodule2创建为一个普通的动态web项目
设置目标运行时:谷歌应用程序引擎(x.x.x)
设置将项目添加到ear:已选定
设置EAR项目名称:myear
5) 在mymodule2的appengine-application.xml中设置以下内容,并像前面一样设置实例类
<application>mygaeproject-11111</application>
<module>default</module>
mygaeproject-11111
违约
6) 在myear的application.xml(不是appengine application.xml)中,设置与
<web-uri>mymodule2.war</web-uri>
mymodule2.war
到
默认值
7) 好的,现在重新清理和构建所有内容,并部署到本地google应用服务器。
如果一切正常,只需右键单击服务器面板中的服务器并选择。。。部署到远程服务器
8) 如果以后要终止该项目,请在云控制台中选择它,然后转到左侧窗格中的设置并单击禁用应用程序。我接受了这个答案。但事实上,我改用了Intellij,我再高兴不过了。你能解释一下你是如何在模块中使用Intellij的吗?模块有发电机吗?
<context-root>default</context-root>