Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java gwt-dev.jar太大,无法上载到appengine。我可以拆分一个jar文件吗,或者。。。什么?_Java_Google App Engine_Gwt_Jar - Fatal编程技术网

Java gwt-dev.jar太大,无法上载到appengine。我可以拆分一个jar文件吗,或者。。。什么?

Java gwt-dev.jar太大,无法上载到appengine。我可以拆分一个jar文件吗,或者。。。什么?,java,google-app-engine,gwt,jar,Java,Google App Engine,Gwt,Jar,我最近不得不将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 JavaRead。< /P> 我正在使用GoogleEclip

我最近不得不将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 JavaRead。< /P> 我正在使用GoogleEclipse插件,据我所知,我不能使用--enable\ujar\uSpliting。啊


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

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

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


任何大于1MB的文件都不会上载到应用程序引擎。

您可以使用Windows命令行:

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

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

gwt用户
不应出现在结果jar中,因为它的依赖范围是
提供的
。或者至少应该是这样。建议使用
maven clean插件
从生成的WAR文件中删除jar。

@Robert是对的,您应该在上传之前删除
gwt user.jar
。如果您真的有一个大罐子,请使用@systempuntoout建议的
——启用罐子分割。如果您使用的是Maven,则可以通过
splitJars
参数使用与之相当的
--enable\u jar\u spliting

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


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

为什么需要部署gwt-dev.jar?您应该只需要gwt-servlet.jar,它有一个转换器的实现,在我开始使用RESTEasy之后,服务器开始需要这个转换器。我没有问太多问题;)找到RESTEasy依赖项并将其单独绑定,会更好地为您服务。您不知道GWT是否会在以后的版本中包含它,或者引入不兼容。我使用的是Resteasy,没有这样的问题。一定是别的原因。我的错,你是对的。在您的圣诞礼物之前,它曾经是1MB;-)错误-不要认为这是正确答案。答案通常是正确的,但上下文是错误的。正如其他人指出的那样,
gwt-dev.jar
不应该上传到服务器,因为它只在编译时需要。他没有问他是否应该部署它,他问我如何部署它。发布后,我做了正确的事情,并在其他地方找到了我需要的类的实现,但我认为这是对我所问问题的正确回答。谢谢你的帮助和建议!