4
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”正在生产中,使用 Netbeans 使用 Grails 2.0.4 开发,项目“B”仍然是原型,使用GGTS使用 Grails 2.2.4 开发。我有一个脚本可以在两个版本的 Grails 之间切换时.bat快速更改我的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\???但这只是一个想法。

我已经尝试了这个问题的所有答案,但都没有帮助解决我的问题。

任何指导将不胜感激。

更新:

此处JIRA 问题中列出的解决方法说要从这里更改第 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>
4

3 回答 3

5

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

于 2013-09-06T20:54:31.150 回答
3

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

希望它有帮助:)

于 2013-12-20T10:29:49.427 回答
0

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

于 2013-09-06T15:54:39.023 回答