我不能在Netbeans IDE中创建Grails应用程序,我的IDE显示我创建新的Grails应用程序,当我点击创建按钮时,控制台显示错误。
JAVA VERSION: 1.6
Grails版本:2.3.7IDE: NetBeans
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:235)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:263)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.rootLoader(GrailsStarter.java:235)
at org.codehaus.groovy.grails.cli.support.GrailsStarter.main(GrailsStarter.java:263)
由:java.lang.NoClassDefFoundError: jline/console/completer/CompletionHandler引起org.codehaus.groovy.grails.cli.GrailsScriptRunner.main (GrailsScriptRunner.java: 129)... 12java.lang.ClassNotFoundException: jline.console.completer.CompletionHandlerorg.codehaus.groovy.tools.RootLoader.findClass (RootLoader.java: 175)java.lang.ClassLoader.loadClass (ClassLoader.java: 425)org.codehaus.groovy.tools.RootLoader.loadClass (RootLoader.java: 147)在org.codehaus.groovy.grails.cli.support.GrailsRootLoader.loadClass (GrailsRootLoader.java: 51)java.lang.ClassLoader.loadClass (ClassLoader.java: 358)... 13
首先我建议检查你的Java版本。
虽然Grails框架2.3.7的最低要求是java 1.6,你可以在Grails介绍网站上看到:
下面是描述它的主要段落:
在安装Grails之前,您至少需要一个Java开发工具包(JDK)安装1.6或以上版本。下载适当的JDK对于您的操作系统,运行安装程序,然后设置称为JAVA_HOME的环境变量,该变量指向此文件的位置安装。
我建议使用更高级的JAVA版本,比如1.7或1.8。特别是1.8,它提供了大量的变化和改进,从旧的JAVA版本。
应该检查的另一件事是JAVA_HOME(环境变量)值。您确定它指向相关的JAVA JDK吗?如果没有,那就可以成为你犯错误的一个很好的理由。
我个人使用Intellij IDEA (JetBrains IDE),它使用Gradle构建工具与Grails框架一起工作得很好。