2009-06-03 86 views
0

我無法使Apache Camel插件在grails-1.1.1中運行。下面是我所採取的步驟:使用Apache Camel插件安裝Grails

$ grails create-app camelapp 
Welcome to Grails 1.1.1 - http://grails.org/ 
... 

$ cd camelapp 

$ grails run-app 
... 
Running Grails application.. 
Server running. Browse to http://localhost:8080/camelapp 

$ grails install-plugin camel 
... 
Camel Route directory was created. 
Plugin camel-0.2 installed 
Plug-in provides the following new scripts: 
------------------------------------------ 
grails create-route 

$ grails run-app 
... 
[groovyc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, Compile error during compilation with javac. 
    [groovyc] /Users/abdullah/.grails/1.1.1/projects/camelapp/plugins/camel-0.2/src/java/org/ix/grails/plugins/camel/ClosureProcessor.java:22: method does not override a method from its superclass 
    [groovyc]  @Override 
    [groovyc]  ^
... 
: Compilation Failed 
    at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:807) 
    at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:540) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at _GrailsCompile_groovy$_run_closure3_closure7.doCall(_GrailsCompile_groovy:102) 
    at _GrailsCompile_groovy$_run_closure3_closure7.doCall(_GrailsCompile_groovy) 
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:274) 
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) 
    at _GrailsCompile_groovy$_run_closure3.doCall(_GrailsCompile_groovy:89) 
    at _GrailsCompile_groovy$_run_closure2.doCall(_GrailsCompile_groovy:55) 
    at _GrailsPackage_groovy$_run_closure2_closure9.doCall(_GrailsPackage_groovy:79) 
    at _GrailsPackage_groovy$_run_closure2_closure9.doCall(_GrailsPackage_groovy) 
    at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:274) 
    at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy) 
    at _GrailsPackage_groovy$_run_closure2.doCall(_GrailsPackage_groovy:78) 
    at RunApp$_run_closure1.doCall(RunApp.groovy:28) 
    at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:324) 
    at gant.Gant$_dispatch_closure6.doCall(Gant.groovy:334) 
    at gant.Gant$_dispatch_closure6.doCall(Gant.groovy) 
    at gant.Gant.withBuildListeners(Gant.groovy:344) 
    at gant.Gant.this$2$withBuildListeners(Gant.groovy) 
    at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) 
    at gant.Gant.dispatch(Gant.groovy:334) 
    at gant.Gant.this$2$dispatch(Gant.groovy) 
    at gant.Gant.invokeMethod(Gant.groovy) 
    at gant.Gant.processTargets(Gant.groovy:495) 
    at gant.Gant.processTargets(Gant.groovy:480) 
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, Compile error during compilation with javac. 
/Users/abdullah/.grails/1.1.1/projects/camelapp/plugins/camel-0.2/src/java/org/ix/grails/plugins/camel/ClosureProcessor.java:22: method does not override a method from its superclass 
    @Override 
     ^
... 
Compilation error: Compilation Failed 

$ java -version 
java version "1.6.0_07" 
Java(TM) SE Runtime Environment (build 1.6.0_07-b06-153) 
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_07-b06-57, mixed mode) 

回答

3

在這個問題上有JIRA。嘗試刪除ClosureProcessor.java文件上的@Override。

0

看來你正在使用JDK5,不容許@Override的接口實現。您需要將JDK6設置爲默認JVM,JDK6允許@Override用於接口實現。

您也可以爲apache camel插件所有者打開一個jira以刪除註釋,儘管JDK5不會持續太久。

+0

其實我正在使用JDK6,如我的帖子底部所示。 – 2009-06-05 20:36:51

+0

對不起,我錯過了。也許grails正在爲jdk5編譯 – 2009-06-07 12:52:55

0

似乎駱駝插件grails發展被凍結。除此之外,它使用的駱駝1.6.0已經過時了。如果你打算有一天搬到camel2,那麼使用駱駝插件顯然會遇到問題。

我不會建議你在你的項目中使用它,更好地手動添加駱駝支持,以及你需要的引導函數(例如sendMessage)。我已經做到了。如果您需要更多提示,請與我聯繫。