views:

660

answers:

3

I'm having trouble getting the Apache Camel plugin to run in grails-1.1.1. Here's the steps I took:

$ 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)
A: 

It seems that you are using JDK5, which do not allow @Override for interface implementations. You need to set JDK6 as the default JVM, JDK6 allows @Override for interface implementations.

You can also open a jira for the apache camel plugin owner in order to remove the annotation, although JDK5 will not last much longer.

Miguel Ping
Actually I am using JDK6, as shown at the bottom of my post.
Abdullah Jibaly
Sorry I missed that. Maybe grails is compiling for jdk5
Miguel Ping
+3  A: 

There's a JIRA on this problem. Try to just delete the @Override on the ClosureProcessor.java file.

Alessios
A: 

Seems that camel plugin for grails development is frozen. Besides that it's used camel 1.6.0 which is quite outdated. If you plan to move to camel2 one day - you will apparently have problems using camel plugin.

I would not suggest you use it in your project, better add camel support manually, and bootstrap functions you need (e.g. sendMessage). I've done this already. Contact me PM if you need more hints on that.

archer