GWT-Ext con NetBeans – Configuración


Es conocido que dentro del mundo de NetBeans existe un plugin que nos permite crear aplicaciones GWT y también conocemos la existencia de GWT-Ext que nos aporta con widgets adicionales a los que trae GWT, ahora lo que creo que no es tan conocido es como trabajar con GWT-Ext y NetBeans, esto lo digo porque tuve un par de problemas que me retrasaron algunos minutos, les comparto mi experiencia.

Partiendo que tenemos instalado GWT y configurado NetBeans con su plugin y un EntryPoint, debemos hacer lo siguiente para configurar GWT-Ext en nuestro proyecto:

  1. Agregamos el archivo gwtext.jar a nuestro proyecto. Clic derecho sobre Libraries, luego Add JAR/Folder…
  2. Ahora debemos hacer un Clean&Build de nuestro proyecto. Clic derecho sobre el nombre del proyecto y buscamos dicha opción. Esto lo debemos hacer ya que es necesario copiar algunos archivos (hojas de estilo y código JavaScript) dentro de la carpeta js que se encuentra en <Tu_Proyecto>/build/web/<nombr_paquete>/js/ext. Se debe crear la carpeta ext
  3. Copiar los siguientes archivos y directorios, los mismos que se son parte de la descarga de ext2.0.2 (como lo señala GWT-Ext, cuando lo descargamos). Se debe copiar lo siguiente: ext-all.js y las carpetas adapter y resources a la carpeta que se menciona en el punto 2.
  4. Modificar el archivo xxx.gwt.xml agregando las siguientes líneas:

<inherits name=»com.gwtext.GwtExt»/>

<entry-point class=»ec.loxa.client.prbEntryPoint»/> OJO: esto cambia solo lo ubique para mostrar el orden, aunque no estoy seguro de que tenga alguna implicación.

<stylesheet src=»js/ext/resources/css/ext-all.css» />
<script src=»js/ext/adapter/ext/ext-base.js» />
<script src=»js/ext/ext-all.js» />

Y listo tenemos lo necesario para empezar a trabajar, ojo si le das un Clean&Build o un Build a tú proyecto debes volver a repetir los pasos 2 y 3.

Espero que sea de su ayuda.

24 comentarios en “GWT-Ext con NetBeans – Configuración

  1. tengo configurado el netbeans con gwt
    pero haciendo su configuracion para el gwt-ext
    Generando el siguiente error
    Copying 1 file to C:\Documents and Settings\cacalvog\My Documents\NetBeansProjects\Webext\build\web\WEB-INF\classes
    Exception in thread «main» java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:2882)
    at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
    at java.lang.StringBuffer.append(StringBuffer.java:224)
    at java.io.StringWriter.write(StringWriter.java:84)
    at java.io.PrintWriter.newLine(PrintWriter.java:436)
    at java.io.PrintWriter.println(PrintWriter.java:585)
    at java.io.PrintWriter.println(PrintWriter.java:696)
    at java.lang.Throwable.printStackTrace(Throwable.java:512)
    at org.eclipse.jdt.internal.compiler.Compiler.handleInternalException(Compiler.java:461)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:411)
    at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:275)
    at com.google.gwt.dev.javac.JdtCompiler.compile(JdtCompiler.java:194)
    at com.google.gwt.dev.javac.CompilationState.compile(CompilationState.java:72)
    at com.google.gwt.dev.GWTCompiler.distill(GWTCompiler.java:327)
    at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:564)
    at com.google.gwt.dev.GWTCompiler.run(GWTCompiler.java:554)
    at com.google.gwt.dev.GWTCompiler.main(GWTCompiler.java:214)
    C:\Documents and Settings\cacalvog\My Documents\NetBeansProjects\Webext\nbproject\build-gwt.xml:14: Java returned: 1
    BUILD FAILED (total time: 7 seconds)

  2. Hola Carlos Calvo y Gorrión,

    Disculpas por la demora, pero mi trabajo hizo que salga fuera de la ciudad.

    No me ha sucedido ese tipo de error, pero puede deberse a poca memoria disponible, ¿Cuál es el servidor con el que trabajan? Glassfish o Apache Tomcat. Les recomiendo que para cosas pequeñas utilicen Tomcat que es más ligero y consume menos memoria.

    Saludos

  3. Holas…por si aun no resolvieronel problema de memoria…. el archivo build-gwt.xml deberia contener la siguiente linea

    como uno de los agumentos del <java classpath …

    Saludos

  4. Hola Jorge,

    Respondo a tú pregunta y espero que Vanessa confirme mi respuesta.

    Dentro de tú proyecto, busca el archivo build-gwt.xml, que se encuentra bajo la carpeta nbproject.

    Verás líneas cómo éstas:

    <java classpath=»${javac.classpath}:${src.dir}» failonerror=»true»
    classname=»com.google.gwt.dev.GWTCompiler» fork=»true»>
    <arg value=»-out»/>
    <arg path=»${build.web.dir}/»/>
    <arg value=»-style»/>
    <arg value=»${gwt.compiler.output.style}»/>
    <arg value=»-logLevel»/>
    <arg value=»${gwt.compiler.logLevel}»/>
    <arg value=»${gwt.module}»/>
    </java>

    Lo que entiendo a Vanessa es que debes agregar la siguiente línea:
    <jvmarg value=»-Xmx512m» />

    Al final esa sección debe quedar algo así:
    <java classpath=»${javac.classpath}:${src.dir}» failonerror=»true»
    classname=»com.google.gwt.dev.GWTCompiler» fork=»true»>
    <arg value=»-out»/>
    <arg path=»${build.web.dir}/»/>
    <arg value=»-style»/>
    <arg value=»${gwt.compiler.output.style}»/>
    <arg value=»-logLevel»/>
    <arg value=»${gwt.compiler.logLevel}»/>
    <arg value=»${gwt.module}»/>
    <jvmarg value=»-Xmx512m» />
    </java>

    Espero que ésto resuelva el problema de Carlos Calvo, Gorrión y el tuyo

  5. Hola,

    Bueno yo tenía el mismo problema hace unos días y otra solución también se da indicando un parámetro más dentro del archivo build-gwt.xml

    <java classpath=»${javac.classpath}:${src.dir}»
    failonerror=»true»
    classname=»com.google.gwt.dev.GWTCompiler»
    fork=»true»
    maxmemory=»512M»>

    En donde maxmemory indica la cantidad de RAM que disponemos en nuestro computador.

    El único inconveniente es que NetBeans sobrescribe este archivo cada vez que ejecutamos el IDE por lo que se debería indicar esto en cada inicio.

    Este fallo está indicado aquí:
    https://gwt4nb.dev.java.net/issues/show_bug.cgi?id=36

    Espero les ayude, Saludos..

  6. Me pase eclipse pero muchas gracias por las respuestas
    Ahora me interesa saber como hago el release de la aplicacion ya que esta debera trabajar sobre apache

  7. hola amigos quisiera saber si puedo trabajar con JPA en GWT porque traté de integrar esto pero me parece que no es compatible, les agradeceré cualquier ayuda que me puedan brindar.

    Geovanny Jadán

  8. Hola Jorge gracias por tu respuesta, te comento que estoy tratando de desplegar un select de la base de datos y cargarlo en un grid, y la verdad no tengo mucho conocimiento de como funciona lo de RCP o mejor dicho que tipos de datos se pueden retornar, en tu ejemplo vi que retornabas un int mi idea era retornar un Object[][] el cual contenia el listado obtenido desde el select, no se si hay alguna otra forma que no sea con RCP de antemano te agradezco mucho

    Saludos y gracias por tu tiempo

    PD: el error que me muestra es el siguiente:
    Invoking
    Generating client proxy for remote service interface ‘mipaquete.client.LoginService’
    Analyzing ‘mipaquete.client.LoginService

  9. Hola, qué tal!, ojalá puedan darme una pronta respuesta, a mí me llamó la atención uno de los ejemplos que trae el showcase de Gwt-Ext: «Tree to Tree Drag & Drop», en la siguiente liga: http://www.gwt-ext.com/demo/#twoTrees … primero lo traté de incorporar a mi proyecto… pero tengo el problema de que no carga los nodos, como en el demo, después, sólo para comprobar si al tratar de adecuarlo había omitido alguna de las líneas de código, hice un nuevo proyecto, y lo copié idéntico, cree los XML con el mismo nombre… pero cuando lo ejecuto sigue igual, carga los radiobutton, también los ‘TreePanel’, pero sólo las raíces: ‘Countries’ y ‘Trip Planner’, pero no me muestra ni despliega ninguno des sus nodos… ¿Alguna idea de la posible causa de error o algo así?

    Primeramente, ojalá alguien pudiera ver el código (disponible en la misma liga que les puse anteriormente, del showcase del ejemplo en específico), ahí se darán cuenta que en el archivo ‘TwoTreeSamples’, hay:


    loader.setDataUrl(«data/countries-grouped.xml»);

    tripLoader.setDataUrl(«data/trip.xml»);

    ¿a qué corresponde ese url?, ¿qué es ‘data», ¿un paquete?… yo lo probé así con data… llegué también a pensar que no lo debería llevar (en el caso de mi proyecto), porque ambos archivos XML yo los situé en el mismo paquete ‘client’, pero ni así (en tiempo de ejecución) carga los nodos.

    Ojalá puedan ayudarme… sospecho que es algo trivial

  10. hola tengo un problema con el netbens
    lo tengo instalado y todo
    pero al crear un nevo proyecto en c++
    me sale
    «la carpeta del proyecto es solo de lectura»
    y no puedo poner siguiente

  11. Hola estimados amigos. alguien ya usó lo que es el GWT-EXT-UX, bueno intente usar este plugin. pues tengo algunos problemas en tiempo de ejecucucíon para usar esta libreria.
    – Quizá es por alguna configuración extra que hay que realizar…
    Gracias de antemano

  12. Hola amigos estaba probando SmartGWT en Netbeans; cree una aplicacion y al ejecutarlo no me muestra como en los demos, me muestra como distorcionada. Talvez me pueden ayudar con la configuracion.

    Gracias de antemano.

  13. Hola a todos… espero me puedan ayudar con un asunto que me encuentro y no puedo avanzar…

    Bueno actualmente me encuentro desarrollando una aplicacion usando el framework de Google GWT… y no se como usar RPC para comprobar el inicio de sesion de un usuario, he leido muchos articulos y páginas web pero no he podido despejar mi duda…

    El IDE que estoy usando es Eclipse 3.4 y el motor de base de datos es mysql….

    Si alguien me puede ayudar con algun ejemplo o informacion para poder salir con este problema y avanzar con mi proyecto les quedare eternamente agradecido…. espero me puedan ayudar… GRACIAS…

  14. Muchas gracias Jorge, aunque trabajo con eclipse, el post me ha servido, ya que me faltaban algunos js por copiar en su sitio.
    Probaré esto en casa,
    Saludos!

Replica a Jorge López (jorgaf) Cancelar la respuesta