尝试运行Grails时的Java异常

时间:2012-09-12 12:55:23

标签: java grails windows-7

全部 - 我刚刚在Win7 64bit机器上下载了最新的grails(2.1.0)和JDK(1.7.0_07),并按如下方式配置了我的机器:

1。)为Java和Grails添加了环境变量 2.)视情况更新PATH 3.)通过执行java -versiongrails -version

验证所有内容都已正确安装

java -version命令有效,并显示以下内容:

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

但是grails -version命令会产生以下错误:

Exception: java.lang.RuntimeException thrown from the UncaughtExceptionHandler in thread “main”

我尝试通过完全卸载所有Java进行调试,然后重新安装,但是会发生同样的错误。我确认我安装了64位版本的Java。

有关错误的更多信息可以在this website找到(Mike [所有者]指示我向Stackoverflow寻求更多帮助)。

任何想法是为什么会发生这种情况?我能做些什么才能让Grails工作?在此先感谢您的帮助。

- 汤姆

来自Vector的评论

编辑1

所有变量都已正确设置并显示在此处:

GRAILS_HOME = C:\grails\grails-2.1.0 
JAVA_HOME = C:\Program Files\Java\jdk1.7.0_07 
Path = [lots of other stuff];%JAVA_HOME%\bin;%GRAILS_HOME%\bin;

编辑2 修复了@crudolf问题陈述(版本为1.7.0_07)顶部的java版本号

6 个答案:

答案 0 :(得分:1)

答案:您应确保将此框设置为管理员。 。 。 和人们欢欣鼓舞

显然,Grails想要写入C:\ Users \ Administrator.grails和C:\ Users \ Administrator.groovy。即使我在我的机器上拥有管理员权限(因为我成功安装了Java),我显然需要点击进入管理员文件夹,以便编写我想要使用JDK的首选项。

一切都很好。谢谢大家的帮助。

答案 1 :(得分:1)

尝试在Windows 7上从Grails 2.1.0升级到Grails 2.2.1后遇到此错误。

我只需要删除Grails 2.1.0中创建的C:\User\%USERNAME%\.grailsC:\User\%USERNAME%\.groovy文件夹以及剩余文件夹。

似乎Grails正在加载一些剩余的缓存JAR或.grails.groovy而不是%GRAILS_HOME%的配置文件。

花了好几个小时,但我吸取了教训 - 在运行新版本的Grails之前删除了“.grails”和“.groovy”!

答案 2 :(得分:1)

我在Windows 8.1 Pro上使用Grails 2.4.0和2.2.4遇到了这个问题。我注意到,如果我在管理员cmd-shell中运行grails命令,则不会发生此问题。然后我检查了我的Appdata \ Local \ Temp。事实证明,temp文件夹的安全设置需要更改。在我给Everyone完全访问Appdata \ Local \ Temp文件夹之后,问题就解决了。但您可能需要经常检查安全设置,因为某些Windows应用程序会重置安全设置。

答案 3 :(得分:0)

我遇到了同样的问题。我在Windows 7 x86上使用java-1.7.25运行grails-2.2.4。但它今天突然停止了工作。我尝试删除〜/ .groovy和〜/ .grails,但仍然从UncaughtExceptionHandler抛出了java.lang.RuntimeException。

最后,通过删除〜/ .m2来解决问题。

顺便提一下,在命令提示符中启动“grails”之前“设置DEBUG = 1”将显示启动Java.exe的环境和参数。

答案 4 :(得分:0)

我遇到了类似的问题,但在Ubuntu 12.04中。我通过删除$ GROOVY_HOME环境变量解决了这个问题。如果您还有$ GROOVY_HOME变量,请尝试删除它。

答案 5 :(得分:0)

尝试删除位于.grails_history目录中的文件%Home%文件。 这在Windows 8.1上适用于我