打开缺少ZIP文件或JAR清单时出错:C:\Program

mfpqipee  于 2022-09-21  发布在  Eclipse
关注(0)|答案(6)|浏览(432)

我在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工具平台和Google-App-Engine。

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

6g8kf2rb

6g8kf2rb1#

来自谷歌云平台支持的Jordan Fish帮助我解决了这个问题。他说:
至于在您尝试启动dev_appserver时出现的错误消息,我相信这可能是由于您的项目的运行配置中的一个VM参数造成的。请转到运行配置(选择项目后,转到运行菜单并选择运行配置),单击Arguments选项卡,然后查看在VM Arguments文本框中列出了什么?

以下是我最初的VM论点:

-javaagent:C:Program Fileseclipsepluginscom.google.appengine.eclipse.sdkbundle_1.9.4appengine-java-sdk-1.9.4libagentappengine-agent.jar -Xmx512m -Dappengine.fullscan.seconds=5 -Ddatastore.default_high_rep_job_policy_unapplied_job_pct=50

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

-javaagent:"C:Program Fileseclipsepluginscom.google.appengine.eclipse.sdkbundle_1.9.4appengine-java-sdk-1.9.4libagentappengine-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完成步骤“在服务器上运行项目”

zqry0prt

zqry0prt2#

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

xyhw6mcr

xyhw6mcr3#

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

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

注意冒号后面的方括号的格式,每个参数没有空格。如果您错过了这一点,您将收到一条运行时错误消息,告诉您Java代理需要该输入格式。

另外,请记住,如果您使用像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

cyej8jka

cyej8jka4#

以管理员身份运行您的cmd。当您尝试启动您的服务器,但您不是以管理员身份启动它时,您会收到此错误。

z0qdvdin

z0qdvdin5#

重新生成项目或尝试mvn clean install

y3bcpkx1

y3bcpkx16#

导出eclipse中带有清单文件的JAR,如下所示:

将清单文件与创建的JAR合并。CMD:JAR UFM/USERS/Inzamam/Desktop/inzaa.jar META-INF/MANIFEST.MF

相关问题