全部 - 我刚刚在Win7 64bit机器上下载了最新的grails(2.1.0)和JDK(1.7.0_07),并按如下方式配置了我的机器:
1。)为Java和Grails添加了环境变量
2.)视情况更新PATH
3.)通过执行java -version
和grails -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版本号
答案 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%\.grails
和C:\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上适用于我