2016-01-05 45 views
0

我已经成功将我的典型GWT 2.7和AppEngine堆栈应用程序从单个Maven模块重构为许多 - 我可以编译,运行AppEngine dev服务器并进行部署。使用Maven EAR打包的GWT应用程序运行SuperDevMode

我需要一些指导,配置GWT SuperDevMode使用GWT mojo。现在,客户端和服务器组件被拆分成不同的模块并使用EAR module打包,我不确定从哪里开始。

项目布局看起来像:

/app-client (GWT) - I use the GWT mojo here to compile a client WAR. I used to have everything in here. 
/app-core (Shared Code) - JAR 
/app-server (Default AppEngine Module) - WAR 
/app-auth (Auth AppEngine Module) - WAR 
/app-worker (Worker AppEngine Module) - WAR 
/app-ear (EAR Package) - I use the AppEngine mojo here for deployment. 
pom.xml - parent 

我假定GWT的魔力必须在app-ear模块上运行,但如何提供app-client来源运行配置?

回答

1

对于GWT而言,Mojo的Maven插件并不便于在多模块构建中运行开发模式。为了得到正确的类路径中,你需要在你app-client模块在运行gwt:rungwt:run-codeserver目标(要做到这一点,你要么需要mvn install你的依赖 - app-core - 和/或黑客周围轮廓和build-helper-maven-plugin;看到this POM为例,它们都需要mvn install来解决依赖关系,并使用build-helper-maven-plugin,因此您可以更改共享代码,而无需使用mvn install并重新启动开发模式。

FWIW,net.ltgt.gwt.maven:gwt-maven-plugin(免责声明:我是作者)是从一开始就用该用例创建的;所以您实际上在父模块上运行gwt:devmodegwt:codeserver,并告诉它哪个模块是GWT应用程序,以及在哪里生成*.nocache.js

+0

Thanks @ thomas-broyer,帮助修复了'gwt:compile'目标,启动代码服务器时没有问题。要将它与'appengine:devserver'集成,是否应该将'launcherDir'设置为'app-ear'目标目录? – Sam

+0

不要紧,所有人似乎都在使用该配置。感谢您的帮助,我期待未来构建GWT 3应用程序,以便继续做好工作! – Sam

相关问题