GWT:gwt-user.jar和gwt-dev.jar之间的区别是什么?

25

gwt-user.jargwt-dev.jar有什么区别?从它们的内容来看,我无法理解为什么它们要被这样打包。

我特别想知道如何使用这两个JAR文件进行编译和部署。
我需要哪一个JAR文件来...

  1. ...运行javac (.java转为.class)?
  2. ...运行GWT编译器(.class to JavaScript)?
  3. ...运行GWT开发模式和调试?
  4. ...将我的应用程序部署到Google App Engine?
  5. ...在我的Eclipse项目类路径中拥有哪一个JAR文件?

对于这些用途的任何澄清或更好的解释,我们将不胜感激。

1个回答

26

gwt-user.jar 包含 GWT API,您将直接与其进行接口交互。

gwt-dev.jar 包含用于 GWT 编译器、开发/托管模式等的代码。

运行 javac(从 .java 到 .class)?

我认为你只是想解决引用问题,在这种情况下需要使用 gwt-user.jar。

运行 GWT 编译器(从 .class 到 JavaScript)?

需要使用 gwt-dev.jar 和 gwt-user.jar 进行依赖项解析。

运行 GWT 开发模式和调试?

同样,gwt-dev.jar 包含实际运行开发模式所需的所有内容,但您的代码也会在此处使用 gwt-user.jar。

将我的应用程序部署到 Google App Engine?

这由Google Eclipse 插件处理,而不是这两个 jar 文件。如果您正在通过其他方法进行此操作,则不需要将任何一个这些 JAR 文件部署到 App Engine。

在我的 Eclipse 项目类路径中需要哪些文件?

您的 Eclipse 项目只需要 gwt-user.jar。

您没有提到的一个 jar 是 gwt-servlet.jar。如果您计划进行任何服务器端通信,则还需要将其作为项目依赖项添加到 Eclipse 项目中。

使用 GWT Eclipse 插件将为您处理许多这些依赖项。


5
如果您使用RequestFactory而不是GWT-RPC,则还有requestfactory-server.jar可供使用。同时,您可能需要编辑您的回答以提到requestfactory-server.jargwt-servlet.jar之一必须部署在服务器上(例如AppEngine)。最后,它们中的任何一个都不需要出现在项目的构建路径中(它们中的所有内容都已包含在gwt-dev或gwt-user中),它们只需要出现在您的WEB-INF/lib目录中(即将文件复制到那里,不要将它们“作为项目依赖项添加到您的eclipse项目”中)。 - Thomas Broyer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接