Mac OS X扩展类上的Grails 2.4.0无法加载

时间:2014-05-28 19:48:24

标签: macos grails

下载并安装Grails 2.4.0后,运行任何grails命令时会收到以下警告,包括grails -version:

警告:模块[groovy-all] - 无法加载扩展类[org.codehaus.groovy.runtime.NioGroovyMethods]

网络搜索显示有关groovy的帖子:http://permalink.gmane.org/gmane.comp.lang.groovy.user/64538

这一个,包括但不是专门针对此警告: https://jira.grails.org/browse/GPFILTERPANE-125

我正在运行Mac OS X 10.9.3,java版本“1.7.0_40”。

这是一个可以忽略的虚假错误吗?到目前为止,grails似乎工作正常,但我想我会发布它,看看其他人是否经历过类似的事情。

3 个答案:

答案 0 :(得分:8)

如果没有设置JAVA_HOME,问题是grails将JAVA_HOME设置为/ Library / Java / Home。最有可能的是,您的系统在该目录下具有较旧的jdk(1.6)。正如提到的偏执狂,它需要jdk 1.7。因此,即使你安装了jdk1.7,但grails根本不使用它。

以下是此问题的解决方案:

  1. 下载并安装Oracle JDK,它将安装到/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk(假如你安装了jdk1.7u51)
  2. 如果您不想明确设置JAVA_HOME,请运行以下命令以更改系统设置
  3. cd /System/Library/Frameworks/JavaVM.framework/Versions 
    rm CurrentJDK 
    ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents CurrentJDK
    

    然后警告应该消失。

答案 1 :(得分:6)

  1. 安装Java 7

  2. 找到Java 7 Home的位置。

  3. 在Mac OS上运行/ usr / libexec / java_home。例如我的家是/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

    1. 创建env变量GRAILS_HOME,JAVA_HOME并将它们添加到PATH和.bash_profile
    2. 例如我的.bash_profile文件的内容是:

      export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
      export GRAILS_HOME=/Users/admin/work/grails
      export PATH=$JAVA_HOME:$GRAILS_HOME/bin:$PATH
      

      现在grails正在使用jdk7并且没有警告。

答案 2 :(得分:0)

模块groovy.nio.2.3.0.jar需要Java 7或更高版本,这就是您收到错误的原因。

您可以升级java版本或删除该模块。警告基本上是无害的。