java - Cómo ClientBundle en GWT?
(2)
Normalmente creo un nuevo paquete de recursos ( com.example.project.resource
) y coloco la interfaz de ClientBundle
y los recursos apropiados allí (en conjunto, como en un directorio) - es un archivo de Java más un montón de imágenes, sin necesidad de mayor separación, en mi humilde opinión.
En cuanto a las rutas a los recursos, puede pasarlos a través de la @Source("path")
. Por ejemplo, si tiene su interfaz ClientBundle
en com.example.project.resource
e imágenes en com.example.project.images
, entonces @Source("../images/shim.gif")
escribir @Source("../images/shim.gif")
. Probablemente puedas utilizar rutas absolutas, pero asegúrate de almacenarlas en una variable estática y compartirlas entre el recurso, para que pueda ser reemplazado fácilmente;
Estoy usando GWT ClientBundle por primera vez. Escribí la interfaz que lo extiende y aquí está el código:
package edu.etf.fuzzy.client.login;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
public interface Resources extends ClientBundle {
@Source("logo_federacija.jpg")
ImageResource logo();
@Source("shim.gif")
ImageResource shim();
}
Mi pregunta es: ¿cómo puedo saber dónde se encuentran exactamente estos recursos (imágenes en este caso)? ¿Debería ponerlos: a) en el mismo directorio que la interfaz - (feo)? b) en algún directorio específico que nunca se puede cambiar? c) en el directorio que quiero, pero debería haber un mecanismo para especificarlo - (sería genial)?
Gracias.
Similar a los puntos de Igor:
com.yoursite.resources: YourClientBundle.java
com.yoursite.resources.css: YourCssResource.java
com.yoursite.resources.images: image files here
La clave aquí es que si no consume un recurso (CSS / Image / Text), el compilador GWT lo ignorará. Esto previene la hinchazón de la guerra a medida que su aplicación obtiene soporte y usted tiene cientos de imágenes y no está seguro de cuáles se utilizan y cuáles no.
Si usa la opción de descartar todo en la carpeta pública / imágenes , todos los elementos se incluirán en la guerra de aplicaciones, independientemente de si se usan.