【问题标题】:Java Exception when Trying to Run Grails尝试运行 Grails 时出现 Java 异常
【发布时间】:2012-09-05 12:05:01
【问题描述】:

全部 - 我刚刚在我的 Win7 64 位机器上下载了最新的 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 正常工作?提前感谢您的帮助。

-汤姆

Edit 1来自 Vector 的评论:

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

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 修复了问题声明顶部的 java 版本号(版本为 1.7.0_07),每个 @crudolf

【问题讨论】:

  • ...您是否验证了 Groovy 路径已设置?
  • 是的。这是我所有的变量: GRAILS_HOME = C:\grails\grails-2.1.0 JAVA_HOME = C:\Program Files\Java\jdk1.7.0_07 Path = [很多其他的东西];%JAVA_HOME%\bin;%GRAILS_HOME% \bin;
  • 你确定 1.7.0_07 是你安装的版本吗?在第一句话中,您谈到 1.7.0_17,但您的路径使用 1.7.0_07。
  • 再次检查您的 PATH 变量。也许您的路径中安装了 JRE。尝试输入javac
  • @crudolf 代码中显示的内容是正确的(我一定是从上面复制不正确)。固定在正文中。我输入 javac -version 并得到“javac 1.7.0_07”。是这个意思吗?

标签: java grails windows-7


【解决方案1】:

答案:您应确保您的框设置为 Administrator 。 . . 人们欢欣鼓舞

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

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

【讨论】:

    【解决方案2】:

    我在 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”!

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 谢谢,这也是我的问题。由于某种原因,该文件夹被设置为“只读”;在我删除“只读”标志后,它工作正常。我不需要授予所有人完全访问权限。
      【解决方案4】:

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

      最后,问题也通过删除 ~/.m2 解决了。

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 2018-10-26
            • 1970-01-01
            • 2016-02-01
            • 1970-01-01
            • 2013-07-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多