Ich habe ein GWT-Projekt mit Gradle als Build-Management eingerichtet und alles ist in Ordnung.
Ich kann mein Projekt auf meinem lokalen Tomcat in Eclipse bereitstellen und die Anwendung wird wie vorgesehen ausgeführt. Aber wenn ich den DevMode starte und etwas in meinen CSS-Ressourcen ändere (die als CssResource-Klassen mit einer @Source-Annotation gebunden sind), fängt der GWT DevMode sie nicht ab und die CSS-Änderungen werden nicht berücksichtigt. Fehle ich etwas? Ich würde erwarten, dass der DevMode Veränderungen in .css-Dateien während der Entwicklung erkennt, ohne erneut eine gwt-Kompilierung durchführen zu müssen. HierGWT DevMode nicht neu laden Änderungen an CSS-Dateien
ist ein Beispiel dafür, wie ich die CSS-Ressourcen verwende:
public interface XOFooterPanelResource extends FooterPanelResource, ClientBundle {
@Override
@Source("XOFooterPanel.css")
XOFooterPanelStyle style();
@Override
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource footerPanelBackground();
@Override
@ImageOptions(repeatStyle = RepeatStyle.Horizontal)
ImageResource footerPanelBackgroundEndUser();
@Override
@Source("footerDelimiter.jpg")
ImageResource footerDelimiter();
}
public interface XOFooterPanelStyle extends FooterPanelStyle, CssResource {
}
Wie man sehen kann ich meine XOFooterPanelStyle Schnittstelle haben, die CssResource erstreckt. Es wird in der XOFooterPanelResource - die ClientBundle erweitert - verwendet, indem die Annotation @Source mit dem Namen meiner CSS-Datei verwendet wird.
Und hier ist der Teil meiner gradle Build-Datei, die für den Start des DevMode verantwortlich ist:
javaexec {
main = 'com.google.gwt.dev.DevMode'
jvmArgs = ['-Xmx2048M', '-XX:MaxPermSize=1024M']
classpath {
[
sourceSets.main.java.srcDirs,
// Java source
sourceSets.main.output.resourcesDir,
// Generated resources
sourceSets.main.output.classesDir,
// Generated classes
sourceSets.main.compileClasspath // Deps
]
}
args = [
'-startupUrl',
'myapp/index.html',
'-noserver',
'-war',
'build/devmode',
'-gen',
'gen'
]
ext.gwtModules.each {
args += it
}
}
Wie bereits erwähnt, bevor ich tomcat innerhalb Eclipse bin die Anwendung auszuführen, so dass die -noserver
Option gesetzt .
Als Abhilfe Verwendung Maven-Ressourcen-Plugin Kopie-Ressourcen, src/main/webapp $ {project.build.directory}/GWT-Webapp ausgabe>. https://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html –