Instalación de Grails con Apache Camel plug-in
-
09-09-2019 - |
Pregunta
Estoy teniendo problemas para conseguir el plugin de Apache Camel para funcionar en griales-1.1.1. He aquí los pasos que di:
$ 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)
Solución
Hay un JIRA en este problema. Trate de eliminar sólo la @ Override en el archivo ClosureProcessor.java.
Otros consejos
Parece que está utilizando JDK5, los cuales no permiten @Override
para las implementaciones de interfaz. Es necesario establecer JDK6 como la JVM por defecto, permite JDK6 @Override
para las implementaciones de interfaz.
También puede abrir una jira para el propietario apache plugin de camello con el fin de eliminar la anotación, aunque JDK5 no va a durar mucho más tiempo.
Parece que el plugin de camello para el desarrollo griales se congela. Además de eso se utiliza camello 1.6.0 que es bastante anticuado. Si va a mover a camel2 de un día -. Va a parecer tener problemas usando el plugin de camello
No sugeriría que lo utilice en su proyecto, mejor añadir soporte camello manualmente, y las funciones de arranque es necesario (por ejemplo sendMessage). He hecho esto ya. PM en contacto conmigo si necesita más pistas al respecto.