tutorial español java netbeans groovy java-ee

español - netbeans java



Groovy, Netbeans y Java EE (2)

Quiero desarrollar una aplicación web (sin marcos) que mezcle java con groovy. Estoy usando IDE Netbeans con el complemento.

Si comienzo un nuevo proyecto Java SE y agrego una clase maravillosa, funciona sin problemas ... pero cuando creo un nuevo proyecto Java EE y agrego una clase maravillosa no puedo compilar y me muestra el siguiente error:

/home/webcodei/NetBeansProjects/testeGroovyWeb/src/java/pacote/Hello.java:23: cannot find symbol symbol : class Hroovy location: class pacote.Hello Hroovy h = new Hroovy(); /home/webcodei/NetBeansProjects/testeGroovyWeb/src/java/pacote/Hello.java:23: cannot find symbol symbol : class Hroovy location: class pacote.Hello Hroovy h = new Hroovy(); 2 errors /home/webcodei/NetBeansProjects/testeGroovyWeb/nbproject/build-impl.xml:383: The following error occurred while executing this line: /home/webcodei/NetBeansProjects/testeGroovyWeb/nbproject/build-impl.xml:211: Compile failed; see the compiler error output for details. FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

¿Alguien tiene una idea de cómo habilito Java EE + Groovy en netbeans?

ps: sé la existencia de Grails

ps2: El jar Groovy está en mi classpath.

¡Gracias por todo!


Parece que el administrador de proyectos NetBeans 6.5 Java Webapp no ​​tiene el soporte "Enable Groovy" que está presente en la aplicación Java y en los proyectos de la biblioteca de la clase Java.

Puedo pensar en dos formas en que puedes evitar esto:

En primer lugar, podría poner su código Groovy y las pruebas en un proyecto separado como una Biblioteca de clases Java. Luego, haga que la aplicación Java sea dependiente del proyecto Groovy. NetBeans construirá el proyecto dependiente automáticamente, por lo que apenas notará que están en proyectos separados.

En segundo lugar, el "Habilitar Groovy" no es mágico. Todo lo que hace es escribir un groovy-build.xml en / nbprojects y modificar build-impl.xml para importarlo. El groovy-build.xml anula la macro "javac" predeterminada para invocar "groovyc" en su lugar. Si es muy útil con Ant, puede copiar un groovy-build.xml de un proyecto de aplicación Java y copiarlo en su proyecto web Java y luego importarlo desde su build.xml (antes de importar build-impl.xml) ) El archivo groovy-build.xml probablemente necesite algunas modificaciones ya que algunas de las propiedades entre una aplicación web y una biblioteca de clase son un poco diferentes.


@Dave Smith,

Esto fue exactamente lo que hice. Creé un proyecto javase y una aplicación web y comencé a compararlos. Después de unos minutos, me di cuenta de que la única diferencia era el groovy-build.xml.

Así que copié el groovy-build.xml en el directorio e inserté las siguientes líneas en mi build.xml:

<import file="nbproject/groovy-build.xml"/>

Justo antes del habitual

<import file="nbproject/build-impl.xml"/>

Y luego llamó al archivo groovy para sobrescribir el -init-macrodef-javac.

<target depends="-groovy-init-macrodef-javac" name="-pre-compile"> </target>

También necesitaba cambiar el espacio de nombres de groovy-build.xml a mi ex:

<macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">

E insertó el classpath j2ee ($ {j2ee.platform.classpath}) en el atributo algunas líneas más adelante:

<attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/>

¡Después de eso, el proyecto funcionó con éxito! = D

¡Gracias por todo!