Grails war命令导致java.lang.UnsupportedClassVersionError

时间:2009-12-02 01:48:43

标签: java grails

我认为我最近没有对我的机器配置进行任何调整,但突然之间,在我执行了'grails clean'之后,接着是'grails war',我无法构建我的项目,原因是: “因为java.lang.UnsupportedClassVersionError”。

JDK: 1.5.0_19 on MacOS 10.6
Grails: 1.1.1
Groovy: 1.6.5

这是我执行'grails war'时得到的结果:

Welcome to Grails 1.1.1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /usr/local/grails-1.1.1

Base Directory: /Users/Robin/code/
Running script /usr/local/grails-1.1.1/scripts/War.groovy
Environment set to production
Warning, target causing name overwriting of name startLogging
     [copy] Copied 6 empty directories to 3 empty directories 
under /Users/robin/.grails/1.1.1/projects/wf/resources
    [mkdir] Created dir: /Users/Robin/code/web-app/plugins/ui-performance-1.2.1
     [copy] Copying 1 file to /Users/Robin/code/web-app/plugins/ui-performance-1.2.1
    [mkdir] Created dir: /Users/robin/.grails/1.1.1/projects/wf/classes
  [groovyc] Compiling 14 source files to /Users/robin/.grails/1.1.1/projects/wf/classes
  [groovyc] Compiling 262 source files to /Users/robin/.grails/1.1.1/projects/wf/classes
Compilation error: java.lang.UnsupportedClassVersionError: Bad version number in .class file

我有一些jar包含java / part Groovy类,它们是使用Groovy 1.6.5编译的。

我从哪里开始寻找导致此问题的原因?在Grails 1.1之前,我不记得在框架中遇到这么多问题。

1 个答案:

答案 0 :(得分:1)

AFAIK,Grails 1.1.1不依赖于任何JDK 6.x功能,并且编译为1.5兼容性。我假设您至少安装了一个使用目标JDK 6.x编译的插件。

最简单的解决方案是安装JDK 6.x并使用这个与Grails相关的所有东西。如果出于某种原因无法做到这一点,您可以使用http://mindprod.com/products1.html#JARCHECK来识别“坏人”,尤其是在〜/ .grails / 1.1.1 / projects / wf / plugins中。然后使用svn检查“坏人”插件的源代码并使用JDK 1.5自行编译。