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”仍然是原型,使用Grails 2.2.4使用GGTS开发。我有一个.bat
脚本,用于在Grails的两个版本之间切换时快速更改GRAILS_HOME
和PATH
个变量。这很有效,直到我决定在GGTS中打开并打开“A”项目。我最近也将Java从1.6.0_18 x86升级到1.7.0_25 x64。现在有些东西阻止了Grails 2.0.4的运行,这可以从发布的命令行输出中看出来。我的环境变量和路径是正确的,我删除了.grails
目录,并且我已经重新启动了我的计算机,但没有一个能帮助解决问题。
错误的第一行很奇怪,因为它似乎在寻找不存在的路径C:\Program
。我想知道路径的其余部分是否因为空间C:\Program Files\???
而被砍掉,但这只是一个想法。
我已经尝试了this问题的所有答案,但没有一个能帮我解决问题。
任何指导都将不胜感激。
更新
JIRA问题here中列出的一项解决方法是更改startGrails.bat
的第60行:
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>
答案 0 :(得分:5)
显然,错误原因是路径中的空格。尝试通过没有空格的路径重新安装Grails
。
答案 1 :(得分:3)
虽然在环境变量中给出路径不应该有空格,但这是错误的 C:\ Programs Files \ grails-2.3.4所以解决方案是提供没有空格的路径 C:\程序\的grails-2.3.4
希望有所帮助:)
答案 2 :(得分:0)
我不知道为什么,但是当我使用旧版本的Java时,我没有任何问题。我不知道是不是因为我的旧版Java是Java 6而不是Java 7,或者因为我的旧版Java是32位而不是64位,而是将我的JAVA_HOME
变量设置为指向使用Grails 2.0.4时,旧版本的Java似乎正在运行。