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 工程师给我解释一下:
- 每个 JAR 文件的用途是什么?其中一些是显而易见的(
gwt-user.jar
等),但有些则不是。例如,requestfactory-apt.jar
是什么?显然它与RequestFactory
有关,但什么是apt
,它是客户端代码、共享代码还是服务器代码? ETC。;和 - 每个 JAR 属于哪个“层”(客户端、共享、服务器)?和
- 我可以假设所有源 JAR (
*-src.jar
) 都应该在客户端/共享层上,因此 GWT 需要它们的源来交叉编译成 JavaScript?
GWT 的 ZIP 文件似乎不包含解释这些内容的任何文档,GWT API 文档也不包含。
最佳答案
gwt-servlet-deps.jar
是gwt-servlet.jar
需要的第三方依赖。这些不直接包含在gwt-serlvet.jar
中,以便更容易将其部署到 Maven Central。requestfactory-apt.jar
是一个注解处理器(APT == Annotation Processor Tool),它必须在编译时出现在你的类路径中(javac
compile-时间,而不是 GWT 编译时),并将在服务器端生成 RequestFactory 所需的一堆 Java 类。如果您希望在编译类后运行该工具,它还包括ValidationTool
。您会找到更多信息 in the wiki- 所有
-src.jar
仅包含源代码并且仅对调试有用(进入代码)。 +src.jar
包含已编译的类及其源代码。换句话说,requestfactory-client+src.jar
与requestfactory-client.jar
+requestfactory-client-src.jar
相同/li>- 所有
requestfactory-*
JAR 都包含共享类。 requestfactory-client
是纯 Java RequestFactory 客户端(内部没有特定于 GWT 的代码),可用于服务器、桌面应用程序或移动 Java 应用程序(例如 Android)。该 JAR 也“包含”在gwt-user.jar
中。requestfactory-server
包含RequestFactoryServlet
和相关类。此 JAR 也“包含”在gwt-user.jar
和gwt-servlet.jar
中。请注意,requestfactory-server
依赖于第三方库;所有这些都打包在gwt-serlvet-deps.jar
中(如果你想要/需要详细信息,你必须去看看 Maven Central 中的依赖关系,或者看看 GWT 构建脚本)- AFAICT,
gwt-soyc-vis
已遗留且无用。 - 最后,
gwt-api-checker
是一个用于检查 GWT 版本之间 API 兼容性的工具。有一些文档 in the wiki但它可能有点过时了。仅供引用,在构建 GWT 本身时使用此工具来验证是否引入了不需要的向后不兼容的更改。
关于java - GWT依赖的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428994/