我安装了STS 2.6.1.SR1 +添加了groovy和grails扩展。Grails安装指向Grails1.4 (Preferences->Grails)。但是,我不能执行任何与grails相关的操作,比如创建一个新项目。导入现有的grails项目(在命令提示符下创建)后,甚至无法对其进行编译。输出总是相同的:
java.lang.NoClassDefFoundError: org/codehaus/groovy/tools/RootLoader
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.tools.RootLoader
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Exception in thread "main"有没有人遇到过类似的情况?亚历克斯。
发布于 2011-05-29 22:50:06
1.4是几天前才发布的,它的结构与以前的版本有很大不同。STS目前还不支持它,但它正在开发中,很快就会实现。
发布于 2011-06-16 04:57:48
选项1 ->升级STS
SpringSource工具套件2.7.0.M2现已发布,并支持Grails 1.4。Release notes are here
选项2 ->解决方法。
Spring Source Issue Tracker上提供了完整的详细信息,但此解决方法可能会有所帮助……
com.springsource.sts.grails.core.internal.model.DefaultGrailsInstall.getBootstrapClasspath不会在Grails 1.4保存groovy-all-x.jar的位置查找它。
在STS中运行Grails 1.4应用程序的解决方法:
cd /opt/grails-1.4.0.BUILD-SNAPSHOT/lib
ln -s org.codehaus.groovy/groovy-all/jars/groovy-all-1.8.0.jar发布于 2011-12-14 21:02:44
这不是一个优雅的解决方案,但FWIW有一个类似的问题(希望在grails 1.3.7中使用groovy 1.8 ),我在实践中发现,将grails-1.3.7/lib/groovy-all-1.7.8.jar替换为groovy-all-1.8.4.jar是可行的--除非您必须将1.8.4jar称为"groovy-all-1.7.8.jar“。
适用于我的应用程序(在更新的grails可用之前用于dev/test ),当然也适用于YMMV。
https://stackoverflow.com/questions/6167456
复制相似问题