【问题标题】:Explanation of GWT dependenciesGWT依赖的解释
【发布时间】:2013-12-24 02:31:17
【问题描述】:

GWT 2.5.1 目前附带以下 JAR:

  • validation-api-1.0.0.GA-sources.jar
  • validation-api-1.0.0.GA.jar
  • gwt-dev.jar
  • gwt-user.jar
  • gwt-elemental.jar
  • gwt-codeserver.jar
  • requestfactory-apt.jar
  • requestfactory-client.jar
  • requestfactory-apt-src.jar
  • requestfactory-client+src.jar
  • requestfactory-client-src.jar
  • requestfactory-server.jar
  • requestfactory-server-src.jar
  • requestfactory-server+src.jar
  • gwt-servlet.jar
  • gwt-servlet-deps.jar
  • gwt-soyc-vis.jar
  • gwt-api-checker.jar

请有经验的GWT工程师给我解释一下:

  1. 这些 JAR 分别用于什么用途?其中一些是显而易见的(gwt-user.jar 等),但有些则不是。例如,requestfactory-apt.jar 是什么?显然它与RequestFactory 有关,但apt 是什么,它是客户端、共享还是服务器代码?等等。;和
  2. 每个 JAR 属于哪个“层”(客户端、共享、服务器)?和
  3. 我能否假设所有源 JAR (*-src.jar) 都位于客户端/共享层,因此 GWT 需要将它们的源交叉编译成 JavaScript?

GWT 的 ZIP 文件似乎不包含任何解释这些的文档,GWT API 文档也没有。

【问题讨论】:

    标签: java gwt jar dependencies


    【解决方案1】:
    • gwt-servlet-deps.jargwt-servlet.jar 所需的第三方依赖项。这些并不直接在 gwt-serlvet.jar 中,以便更轻松地将其部署到 Maven Central。
    • requestfactory-apt.jar 是一个注解处理器(APT == Annotation Processor Tool),它必须在编译时(javac 编译时,而不是 GWT 编译时)出现在您的类路径中,并且会生成一堆所需的 Java 类通过服务器端的 RequestFactory。如果您更喜欢在编译类后运行该工具,它还包括ValidationTool。你会发现更多信息in the wiki
    • 所有-src.jar 仅包含源代码,仅用于调试(单步执行代码)。
    • +src.jar 包含已编译的类及其源代码。换句话说,requestfactory-client+src.jarrequestfactory-client.jar + requestfactory-client-src.jar 相同
    • 所有requestfactory-* JAR 都包含shared 类。
    • requestfactory-client 是纯 Java RequestFactory 客户端(内部没有 GWT 特定代码),可用于服务器、桌面应用程序或移动 Java 应用程序(例如 Android)。该 JAR 也“包含”在 gwt-user.jar 中。
    • requestfactory-server 包含 RequestFactoryServlet 和相关类。此 JAR 也“包含”在 gwt-user.jargwt-servlet.jar 中。注意requestfactory-server对第三方库有依赖;所有这些都打包在gwt-serlvet-deps.jar 中(如果您想要/需要详细信息,您必须查看 Maven Central 中的依赖项,或查看 GWT 构建脚本)
    • AFAICT,gwt-soyc-vis 是遗留的且无用的。
    • 最后,gwt-api-checker 是一个用于检查 GWT 版本之间 API 兼容性的工具。有一些文档in the wiki,但它可能有点过时了。仅供参考,在构建 GWT 本身时使用此工具来验证没有引入不需要的向后不兼容的更改。

    【讨论】:

    • 谢谢!!!我知道这是一个乏味的问题,但我认为对于像我这样的其他新手来说,它可以作为很好的文档!
    • 随时为文档提出补丁!
    猜你喜欢
    • 2023-03-11
    • 2018-12-05
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 2013-05-23
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多