我正在将一些后端转换为模块,并且在设置开发环境配置时感到困惑。我在Eclipse中使用Java而不是Maven。架构非常简单:
使用旧的后端架构,一个调试配置将启动开发服务器,该服务器将为GWT DevMode UI 和后端任务处理提供服务。
问题的关键在于DevMode的参数提供了-war命令行参数。现在我们不再有一个war文件(有一个包含两个war文件的耳朵),我们必须独立启动它们。这很好,我们可以创建一个启动前端和后端的启动组。
问题是每个war文件都有它自己的 WEB-INF / appengine-generated / local_db.bin,它实际上创建了两个独立的应用程序。我在这里错过了什么吗?我需要能够在处理新后端中的任务队列项的servlet中的前端RPC服务和上放置一个断点,并让它们在一个调试会话中命中。
感谢您的任何想法。
答案 0 :(得分:2)
如果您按照here的说明操作,这将在Eclipse中创建一个模块化的应用程序结构,而根本不使用Maven。您将需要Eclipse WTP以获得所需的项目类型(Enterprise Application Project和Dynamic Web Project)。
Eclipse项目结构应如下所示:
<<Enterprise Application Project>> ear-app
|
| (refers to)
|
<<Dynamic Web Project>> app-module-1 "default"
<<Dynamic Web Project>> app-module-2 "any_name_2"
<<Dynamic Web Project>> app-module-3 "any_name_3"
<<Dynamic Web Project>> app-module-4 "any_name_4"
&#34; name&#34;的价值是指&#34;模块&#34; appengine-web.xml中的元素,而物理Web项目可以有任何名称。
请注意,您需要切换到J2EE透视图以使GPE WTP菜单选项可用,它们不会以标准Java透视图显示。
接下来,您需要将EAR项目链接到新的本地服务器实例(类型为&#34; Google App Engine&#34;)。
只有一个网络模块必须标记为&#34;默认&#34;在appengine-web.xml中。
将EAR部署到本地服务器后,数据存储位置位于默认 Web模块的WEB-INF / appengine-generated / local_db.bin中,并在Web模块之间共享
答案 1 :(得分:1)
我在解决如何在Google App Engine的MyEclipse插件中实现多个模块方面遇到了类似的问题。我发现的最好的信息只是说使用Maven。
&#34;虽然Java EE支持WAR文件,但模块配置仅使用解压缩的WAR目录。 App Engine的Java SDK包含一个Apache Maven工具,可以为您构建骨架EAR结构。&#34; (来源:https://developers.google.com/appengine/docs/java/modules/)
我也发现了这个:
&#34; Maven项目的布局与Eclipse项目不同。因此,如果您希望在Eclipse中使用Maven项目,则需要做更多的工作。您有以下选择:
1]将App Engine的Maven项目作为Web Tools Platform(WTP)项目导入Eclipse,如导入现有Maven项目中所述。
2]使用适当的Maven集成插件(如m2eclipse)将Maven项目导入Eclipse。
3]设置两个调试配置,一个用于devserver中的Maven项目(mvn appengine:devserver),另一个用于远程Java应用程序,用于将Eclipse调试客户端连接到devserver jvm。有关如何执行此操作的详细信息,请参阅...&#34; (来源:https://developers.google.com/appengine/docs/java/tools/maven#creating_a_new_maven_app_engine_project_using_skeleton-archetype)
我知道你说你不使用Maven,但你可以考虑尝试一下吗?