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

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\ubiquibacon>set GRAILS_HOME=C:\Program Files\GGTS\grails-2.0.4 JAVA_HOME=C:\Program Files\Java\jdk1.7.0_25 Path=C:\Program Files\Java\jdk1.7.0_25\bin;C:\Program Files\GGTS\grails-2.0.4\bin C:\Users\ubiquibacon>grails Error opening zip file or JAR manifest missing : C:/Program Error occurred during initialization of VM agent library failed to init: instrument C:\Users\ubiquibacon> 

我有两个主要的Grails项目。 项目“A”正在生产中使用Grails 2.0.4使用Netbeans开发,项目“B”仍然是原型,并使用GGTS使用Grails 2.2.4开发。 我有一个.bat脚本,我在Grails的两个版本之间切换时快速更改我的GRAILS_HOMEPATH变量。 这很有效,直到我决定在GGTS中打开并打开“A”项目。 我最近也将Java从1.6.0_18 x86升级到1.7.0_25 x64。 现在有些东西阻止了Grails 2.0.4的运行,这可以从发布的命令行输出中看出来。 我的环境变量和路径是正确的,我已经删除了.grails目录,并且我已经重新启动了我的计算机,但这些都没有帮助解决问题。

错误的第一行很奇怪,因为它似乎在查找不存在的路径C:\Program 。 我想知道路径的其余部分是否会被空间C:\Program Files\??? 但这只是一个想法。

我已经尝试过这个问题的所有答案,但没有一个能帮我解决问题。

任何指导将不胜感激。

更新:

JIRA问题中列出的解决方法是将startGrails.bat第60行startGrails.bat

 set AGENT_STRING=-javaagent:%GRAILS_HOME:\=/%/lib/com.springsource.springloaded/springloaded-core/jars/springloaded-core-1.0.5.jar -noverify -Dspringloaded=profile=grails 

对此:

 set AGENT_STRING="-javaagent:%GRAILS_HOME:\=/%/lib/com.springsource.springloaded/springloaded-core/jars/springloaded-core-1.0.5.jar" -noverify -Dspringloaded=profile=grails 

这样做后我得到一个新错误:

 C:\Users\westerhold>grails Exception: java.lang.NumberFormatException thrown from the UncaughtExceptionHandler in thread "main" C:\Users\westerhold> 

显然,错误原因是路径中的空格。 尝试通过没有空格的路径重新安装Grails

虽然在环境变量中提供路径不应该有空间,但这是错误的C:\ Programs Files \ grails-2.3.4所以解决方案是给路径没有空格C:\ Programs \ grails-2.3.4

希望它有帮助:)

我不知道为什么,但是当我使用旧版本的Java时,我没有任何问题。 我不知道是不是因为我的旧版Java是Java 6而不是Java 7,或者因为我的旧版Java是32位而不是64位,而是将我的JAVA_HOME变量设置为指向旧版本的Java当使用Grails 2.0.4似乎工作。