【问题标题】:gwt-dev.jar too big to upload to appengine. Can I split a jar file, or... what?gwt-dev.jar 太大,无法上传到 appengine。我可以分割一个 jar 文件,或者......什么?
【发布时间】:2011-03-29 19:41:53
【问题描述】:

我最近不得不将 gwt-dev.jar 添加到我的 /war/WEB-INF/lib 目录,现在当我尝试部署到 appengine 时,我得到:

java.lang.IllegalStateException: 发现一个 jar 文件太大而无法上传: “C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\appcfg997121487626565419.tmp\WEB-INF\lib\gwt-dev.jar”。考虑使用 --enable_jar_splitting。

我正在使用 google eclipse 插件,根据this issue report 我不能使用--enable_jar_splitting。确认!

我可以以某种方式手动拆分 jar 文件吗?我只需要这东西的一小部分。如果没有,我该怎么办?

【问题讨论】:

  • 为什么需要部署gwt-dev.jar?您应该只需要 gwt-servlet.jar。
  • 它有一个 Transformer 的实现,在我开始使用 RESTEasy 后服务器开始需要它。我没有问太多问题;)
  • 找到 RESTEasy 依赖项并将其单独捆绑会更好。您不知道 GWT 是否会在以后的版本中包含它或引入不兼容性。
  • 我正在使用 Resteasy 并且没有这样的问题。一定是别的东西。

标签: java google-app-engine gwt jar


【解决方案1】:

提取罐子。您将获得类似于 java 包层次结构的文件夹结构(例如 com/google/gwt/core)。将整个提取的目录结构复制到war/WEB-INF/lib 中。解决了。​​

在 linux 上,您可以使用 jar -xvf gwt-dev.jar 提取 jar。在windows上,只需将其重命名为zip,就可以像普通的zip文件一样解压(jar文件实际上是伪装的zip文件)

任何大于 1MB 的单个文件都不会上传到 App Engine。

【讨论】:

  • 我的错,你是对的。在你的圣诞礼物之前它曾经是 1MB ;-)
  • 错误 - 不要将此作为正确答案。答案通常是正确的,但上下文是错误的。正如其他人指出的那样,gwt-dev.jar 不应上传到服务器,因为它仅在编译时需要。
  • 他不是问要不要部署,而是问怎么部署
  • 发布后,我做了正确的事情,并在其他地方找到了我需要的类的实现,但我认为这是对我提出的问题的正确答案。感谢您的帮助和建议!
【解决方案2】:

您可以使用 Windows 命令行:

\path\to\appcfg.cmd --enable_jar_splitting update path\to\war

查看如何创建部署快捷方式here

【讨论】:

    【解决方案3】:

    gwt-user 不应该在生成的 jar 中,因为它的依赖范围是 provided。或者至少应该是。 instructions from David Chandler, part of the GWT team 建议使用 maven-clean-plugin 从生成的 WAR 文件中删除 jar。

    【讨论】:

      【解决方案4】:

      @Robert 是对的,您应该在上传之前删除gwt-user.jar。如果您真的有一个大罐子,请按照@systempuntoout 的建议使用--enable_jar_splitting。如果您使用的是 Maven,则可以通过 splitJars 参数通过 maven-gae-plugin 获得 --enable_jar_splitting 的等效项。

      【讨论】:

        【解决方案5】:

        我遇到了同样的错误(具有讽刺意味的是,出于同样的原因,将 gwt-dev.jar 添加到 WEB-INF/lib 以安抚依赖关系)。最后,我能够通过放弃 gwt-dev.jar 并将 xalan.jar 添加到 WEB-INF/lib 来启动应用程序并上传到应用程序引擎。

        我认为 Peter Knego 是对的,最好_not_上传 gwt-dev.jar

        【讨论】:

          猜你喜欢
          • 2022-06-16
          • 2012-12-17
          • 1970-01-01
          • 2021-02-05
          • 1970-01-01
          • 1970-01-01
          • 2011-07-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多