GWT: ¿Dónde coloco los recursos externos que se pueden incluir en mi archivo .gwt.xml?

Estoy usando GWT 2.4. Quiero incluir algunos archivos de Javascript y CSS en la página principal de mi módulo GWT. Pero estoy teniendo problemas para cargarlos. En mi archivo .gwt.xml tengo

<!--  Scripts -->
<script src="js/tabber.js"/>
<script src="js/sortable.js"/>

<!--  Stylesheets -->


Las carpetas "js" y "css" están ubicadas en mi directorio "war", pero evidentemente ese no es el lugar correcto para colocarlas. ¿A dónde deberían ir? Los directorios (relativos a la raíz de mi proyecto) son

gwt-unitCache
src
test
test-classes
war
1
Si tiene una pregunta sobre JSNI, hágala por separado. Esta pregunta es sobre la carga de scripts a través de un archivo gwt.xml .
agregado el autor Jason Terk, fuente

1 Respuestas

Por lo que recuerdo, estas rutas son relativas a la ubicación del archivo .gwt.xml. ¿Ha intentado colocarlas allí? (es decir, justo al lado de los paquetes java para ese módulo en particular)

Update:

"The default public path is the public subdirectory underneath where the Module xml File is stored." - http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuideModules

3
agregado
Lamentablemente, colocar las carpetas "js" y "css" en la misma carpeta que mi archivo .gwt.xml no funcionó. Mi archivo .gwt.xml está en la carpeta src/com/myco/clearing/productplus. ¿Google sigue hablando de una carpeta "pública"? ¿Es público el camino que enumeré?
agregado el autor Dave, fuente
Ver mi edición Mover cosas a una carpeta pública me permite hacer referencia a cosas a través de una URL, pero mi función JSNI (incluida arriba) no encuentra las funciones. Alguien sabe algo acerca de JSNI?
agregado el autor Dave, fuente
Hola Jason, eso es absolutamente correcto. Si creas una respuesta, la aceptaré. Gracias, -
agregado el autor Dave, fuente
Nota: las rutas son relativas a su módulo construido ( GWT.getModuleBaseURL() ), pero también puede poner referencias URI absolutas (por ejemplo, a API de Google Libraries o cualquier otro CDN)
agregado el autor Thomas Broyer, fuente
Su aplicación GWT se ejecuta en el contexto de un iframe en la página, por lo que la función tabberAutomatic no es visible para ella. Acceda a la función utilizando el objeto $ wnd definido implícitamente: $ wnd.tabberAutomatic (tabberOptions) .
agregado el autor Jason Terk, fuente
Si su proyecto está en mal estado, deberá colocar la carpeta pública en "src/main/resources/your/package/public", solo asegúrese de que la ruta sea igual a la de su archivo gwt.xml. Esto funciona muy bien para los módulos de Maven que producen un tarro y están destinados a ser utilizados por otro proyecto.
agregado el autor cirovladimir, fuente
@Dave: Simplemente cree una carpeta llamada "public" en "src/com/myco/clearing/productplus" y coloque sus JS y CSS allí. De esta manera, la carpeta JS y CSS se copiarán en el lugar donde se ubicará el JavaScript GWT compilado. No estoy muy seguro de los detalles (ha pasado un tiempo), pero debería poder encontrar los detalles aquí: code.google.com/webtoolkit/doc/latest/…
agregado el autor Flo, fuente