打开zip文件或JAR清单时出错:C:\ Program

时间:2014-05-07 23:25:30

标签: java eclipse google-app-engine eclipse-wtp

我在步骤"在服务器上运行项目"来自https://developers.google.com/appengine/docs/java/webtoolsplatform#dynamic_web_project,我遇到了一个问题:

  

VM初始化期间发生错误   代理库无法初始化:仪器   打开zip文件或缺少JAR清单时出错:C:\ Program

另一个人在这里报告了类似的问题:Error opening zip file or JAR manifest missing : C:/Program。但解决方案是针对不同的技术。我正在使用Eclipse,Web Tools Platform和Google-App-Engine。

很有可能是因为我的Java安装在C:\ Program Files中,这是一个包含空格的目录。但我不知道如何解决这个问题。我不确定如何安全地将Java \ jre7目录移动到没有空格的目录中。

5 个答案:

答案 0 :(得分:28)

来自Google Cloud Platform Support的Jordan Fish帮助我解决了这个问题。他说:

  

至于尝试启动dev_appserver时的错误消息,我相信这可能是由于项目的运行配置中的vm参数。您能否转到运行配置(选择项目,转到“运行”菜单并选择“运行配置”),单击“参数”选项卡,然后查看“VM参数”文本框中列出的内容?

这是我最初的VM参数:

-javaagent:C:\Program Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.4\appengine-java-sdk-1.9.4\lib\agent\appengine-agent.jar -Xmx512m -Dappengine.fullscan.seconds=5 -Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50

以下是我将其更改为的内容(在作为-javaagent:param传递的目录周围添加了双引号):

-javaagent:"C:\Program Files\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.9.4\appengine-java-sdk-1.9.4\lib\agent\appengine-agent.jar" -Xmx512m -Dappengine.fullscan.seconds=5 -Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50

这解决了我的问题,我能够完成步骤"在服务器上运行项目"来自https://developers.google.com/appengine/docs/java/webtoolsplatform#dynamic_web_project

答案 1 :(得分:5)

您只需将""添加到-javaagent后面的jar文件中:

答案 2 :(得分:1)

如果使用IntelliJ,解决方案似乎略有不同。您需要以与Eclipse用户相同的方式编辑“运行配置”,但是使用此格式添加“VM选项”:

-javaagent:[/absolute/path/DMEnhancerJava-1.0.jar][classes=META-INF/]

请注意冒号后的括号格式,每个参数没有空格。如果您错过了,您将收到有关JavaAgent期望输入格式的运行时错误消息。

另外,请记住,如果您使用像Maven或Gradle这样的构建工具并将其添加到您的JAVA_ARGS变量(通过类似MAVEN_OPTS),则需要用双引号将整个内容包装起来。

第二个参数似乎是必要的,告诉DMEnhancer要检测什么(我的相对于我的类路径的顶层;因为我编译的POJO在META-INF目录中)。

最后,您可能会注意到有时会在VM内部的类路径中的两个位置上讨论正在实现的类时出错:

Class JavaLaunchHelper is implemented in both <Two full classspaths shown here> One of the two will be used. Which one is undefined.

这似乎是因为JVM中的一个错误而在1.8u152中修复(在MacOS X上)(在撰写本文时,这被认为是可用的早期版本here)。有关此JVM错误的更多信息,请参阅此其他answer

答案 3 :(得分:0)

使用清单文件在eclipse中导出jar,如下所示:

enter image description here

将清单文件与创建的jar合并。 CMD: jar ufm /Users/inzamam/Desktop/inzaa.jar META-INF / MANIFEST.MF

答案 4 :(得分:-1)

以管理员身份运行您的cmd。当您尝试启动服务器并且没有以管理员身份启动时,您会收到此错误。