首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型GWT工程结构

问大型GWT工程结构
EN

Stack Overflow用户
提问于 2011-02-23 13:54:15
回答 2查看 2.5K关注 0票数 3

上下文

  • 具有多个maven模块或单个maven模块结构的大项目

问题

  • 您最终使用了多maven模块还是单maven模块结构?

详细信息

如果您曾经从事过一个大项目,它的开发时间很长,并且包含了很多功能(例如,并不是一个简单的项目),那么您是选择将项目分成多个maven模块还是采用单模块方法呢?

例如,具有多模块结构,在运行mvn :eclipse之类的maven命令时会崩溃(请参阅http://bit.ly/gs4Rmo)。我想这在单个模块GWT项目中会很好地工作。还有其他类似于以上命令的多模块结构问题。

然而,多模块结构可以带来更快开发的好处,即如果将“服务器”和“客户端”模块分开,则可以单独编译业务逻辑(服务器),并将其打包到最终的web存档中。编译GWT代码大约需要20秒,所以如果您只修改服务器包,那么从长远来看,它可以节省大量时间。

在使用多模块/单模块项目时,您还遇到了像上面这样的其他情况吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-23 14:21:09

几个注意事项:

  1. 在开发服务器上,您不必“手动”编译代码: dev服务器自动编译代码并重新加载代码。只需让dev服务器运行,更改一些代码,然后在浏览器中重新加载页面即可。(只有当您更改现有类而不更改项目结构时,这才是正确的)
  2. 多个maven模块与多个GWT模块无关。
  3. 如果有在不同环境中执行的代码,您可能希望有多个GWT模块(=多个入口点):例如,您有具有完全不同代码基的web和移动站点。然后将项目分成三个模块:web、mobile和common。然后在web和mobile中引用mobile。
  4. 多个GWT模块的另一种情况是,出于某种原因,您希望拥有多个主机(条目) HTML页面。在需要重定向的情况下,很少会出现这样的情况,例如,在集成OpenID时需要重定向。另一种情况是,您已经有了现有的Web页面,其中只添加GWT以添加一些功能。
  5. 不要为了减少下载大小而将GWT项目分成多个模块:使用代码分裂。
  6. 如果您的主要抱怨是长gwt编译时间,那么请阅读:如何加快gwt编译器的速度?
票数 6
EN

Stack Overflow用户

发布于 2011-02-23 17:32:20

我们从多个模块开始,最终合并成一个模块。造成这种情况的主要原因是模块的维护是一个巨大的开销。每个模块都有一个pom来构建UI、RPC层和后端服务。因此,我们有30个模块,需要管理90个maven项目。

合并模块将90个maven项目转化为3,其中一个是父级pom。

这大大降低了维护开销,并提高了构建时间。众所周知,GWT的编译器速度太慢了,因此只有一次编译解析源文件而不是多次编译解析源文件会使事情变得更快。

另一方面,一个模块意味着编译器一次将所有内容放入内存中。如果在代码中插入任何内容,这可能会使分离点的查找速度慢到令人无法忍受的地步。因此,如果你打算分裂,这可能是值得考虑的地方,你要把这些点,并相应地安排你的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5091802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档