GWT 项目结构

2024-01-06

现在在我们的项目中,我们有下面提到的结构。我们的项目主要使用GWT和Spring框架。

  1. com.客户名称.项目名称.客户端.模块名称
  2. com.客户名称.项目名称.client.rpc.模块名称
  3. com.customername.projectname.shared.validator.module名称
  4. com.客户名称.项目名称.服务器.模块名称
  5. com.客户名称.项目名称.spring.dao.模块名称
  6. com.客户名称.项目名称.spring.service.模块名称

Our application.gwt.xml包含以下需要转换为 java 脚本的源条目。

source path='client'
source path='shared'

由于我们在服务器端使用 spring,因此我们使用 spring 注解来标记服务和 DAO,然后在applicationContext.xml我们使用下面的配置来扫描 DAO 和服务层。

<context:annotation-config/>    
<context:component-scan base-package>

现在我们的客户想要采用下面提到的结构。按模块对所有内容进行分组。此外,在我们的例子中,模块不是 GWT 模块。就像 diff 一样。应用程序的一部分。

  1. com.客户名称.项目名称.模块名称.客户端
  2. com.客户名称.项目名称.模块名称.rpc
  3. com.客户名称.项目名称.模块名称.validator
  4. com.客户名称.项目名称.模块名称.服务器
  5. com.客户名称.项目名称.模块名称.spring.dao
  6. com.客户名称.项目名称.模块名称.spring.Service

我的问题是:

  1. 考虑到它是非常大的应用程序,是否建议使用上面的方法?
  2. 如果要实现上述方法,如何设置需要由gwt编译器从java转换为java脚本的包/源文件。我应该在 application.gwt.xml 中提及每个模块名称吗?

问题 1)我同意 edwardTheGreat 的观点,你最初的包结构听起来非常合理。您只需在 gwt.xml 文件中列出客户端和共享包(需要编译成 javascript 的包)。

问题 2)如果您确实更改了包结构,就像您提到的那样,您将必须在 gwt.xml 文件中列出每个模块的客户端和共享目录。正如 Daniel 所说,您可以将每个模块分解为它自己的“GWT 模块”,然后继承每个应用程序模块中所需的 GWT 模块。

要实现此目的,您必须使每个继承的 GWT 模块的源可供继承模块使用。无论您是通过 Maven、Ant 等来完成此操作,都没有关系。但是顶级 GWT 模块必须能够在编译时访问所有继承的 GWT 模块的源代码。例如:

<module rename-to='A'>
  <inherits name='org.example.B' />
  ... other inherits, entry-point, etc. ...
  <source path='client' />
  <source path='shared' />
</module>

通过这种结构,模块“A”必须能够访问模块“B”的源。模块“B”可以像通常的 GWT 模块一样构建,但是在编译时,模块“A”必须在类路径上具有 B 的源代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GWT 项目结构 的相关文章

随机推荐

  • mysql中STR_TO_DATE解析

    我正在尝试解析 06 01 2010 15 00 00 08 00 问题是最后一个偏移小时 mysqlstr to date无法解析它 有什么想法吗 您需要使用CONVERT TZ函数 http dev mysql com doc refm
  • 未解决的参考:Kotlin 中的 BuildConfig

    所以我开始了一个新的android应用程序 这是我的 Android Studio 信息 Android Studio 3 6 1 Build AI 192 7142 36 36 6241897 built on February 27 2
  • WPF 加载微调器

    目标是显示应用程序正在运行的信息 因此 我正在寻找使用 WPF MVVM 的加载旋转器的智能实现示例 一个非常简单的 即插即用 旋转器可能是来自Font Awesome Wpf 包 https github com charri Font
  • 使用putExtra()向Activity传输大量数据;

    应用程序传递大量对象 解析后大约150个对象 JSON格式 通过intent putExtra 其中有serialized对象 而打开一个新的activity的过程大约需要2秒 有没有办法加快这个过程 如果您只想将数据从一个活动传递到另一个
  • R/dplyr:如何在数据框中仅保留整数?

    我有一个包含多年的数据框 数据类型chr Years 5 yrs 10 yrs 20 yrs 4 yrs 我只想保留整数来获取像这样的数据框 数据类型num Years 5 10 20 4 我如何在 R 中执行此操作 您需要提取数字并将它们
  • 在调试 Java 代码时,@ 在 {Instance@789} 或 "SomeThread"@321: RUNNING 等语句中意味着什么? [复制]

    这个问题在这里已经有答案了 The seems to be everywhere when I debug They are always preceded by some instance variable name and follow
  • 从列名称中删除部分字符串[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 那是一个数据 structure list Fasta headers c Person01050 1 Person01
  • Win32 上的 LAPACK

    我一直在探索需要对矩阵进行一些处理的算法 并且我已经在我的 Linux 机器上获得了一些简单的代码 以下是摘录 extern C link w LAPACK extern void dpptrf const char uplo const
  • c中回调注册函数中的userdata有什么用?

    在注册回调函数中有两个参数 一是函数指针 二是userdata int callback register fn ptr cb void userdata fn ptr is typedef 回调期间相同userdata作为参数发回 我了解
  • 子模型更新 Django 外键关系中的父模型

    假设以下模型架构 父模型 class Batch models Model start models DateTimeField end models DateTimeField 许多儿童模型之一 class Data models Mod
  • Java(或任何语言)中的随机洗牌概率[重复]

    这个问题在这里已经有答案了 我正在 Coursera 上观看 Robert Sedgewick 的视频 目前正在观看 Shuffle 视频 他展示了一个 写得不好 的在线扑克洗牌代码 它还有一些其他错误 我已将其删除 因为它们与我的问题无关
  • 从javascript中的字符串路径获取文件名?

    如何从javascript中的字符串路径获取文件名 这是我的代码 var nameString app base controllers filename js this is the input path string 在这里做一些事情只
  • jQuery hasAttr 检查元素上是否有属性[重复]

    这个问题在这里已经有答案了 jQuery 中如何检查元素上是否有属性 如同hasClass 但与attr 例如 if this hasAttr name var attr this attr name For some browsers a
  • PDFmake:pdfmake.createPdf不是一个函数

    安装后pdfmake使用 npm npm install pdfmake save dev 并编译捆绑包webpack我在运行时遇到错误 pdfmake require pdfmake pdfmake createPdf doc defin
  • 更新项目数组中的单个值 |反应还原

    我有一个待办事项列表 并且希望在用户单击 完成 时将数组中该项目的状态设置为 完成 这是我的行动 export function completeTodo id return type COMPLETE TASK completed tru
  • 我可以使用 Scala lift-json 库将 JSON 解析为 Map 吗?

    有没有办法使用 lift json 库的 JObject 类来充当 Map 例如 val json id oid 4ca63596ae65a71dd376938e foo bar size 5 val record JsonParser p
  • 在 bash 脚本中的变量之间复制值

    如何将变量中的数值复制到 bash 脚本中的另一个变量 如果这是C 我会这样做 int a 0 int b a b 我正在尝试这样做 if countip gt totalip then countip eq srctip lt My pr
  • 改造 - 不同的反应

    我正在使用 Retrofit 在 Android 中使用 API 成功响应看起来与错误 失败响应不同 那么我怎样才能实现这一目标呢 我目前有一些影响此的事情 Call
  • 打印 C++ 结构中所有字段的值

    考虑一个简单的结构 struct abc int a char b 我在定义为其结构的变量中获得了一些值 现在我想打印以下内容 a some value b some character 对于任意结构实现此目的的最佳方法是什么 而无需为我遇
  • GWT 项目结构

    现在在我们的项目中 我们有下面提到的结构 我们的项目主要使用GWT和Spring框架 com 客户名称 项目名称 客户端 模块名称 com 客户名称 项目名称 client rpc 模块名称 com customername project