Ustawiłem projekt GWT przy użyciu Gradle jako zarządzania kompilacją i wszystko jest w porządku.
Mogę wdrożyć mój projekt do mojego lokalnego tomcata w czasie zaćmienia, a aplikacja działa zgodnie z przeznaczeniem. Ale jeśli uruchomię DevMode i zmienię coś w moich zasobach css (które są powiązane jako klasy CssResource z adnotacją @Source), GWT DevMode nie przechwytuje go, a zmiany css nie są brane pod uwagę. Czy czegoś brakuje? Spodziewam się, że DevMode wykryje zmiany w plikach .css podczas programowania bez konieczności ponownego uruchamiania kompilacji gwt.GWT DevMode nie ładuje ponownie plików css
Oto przykład jak używam zasobów CSS:
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 {
}
Jak widać mam swój interfejs XOFooterPanelStyle która rozciąga CssResource. Jest używany w XOFooterPanelResource - który rozszerza ClientBundle - używając adnotacji @Source z nazwą mojego pliku CSS.
I tu jest częścią mojego Gradle plik kompilacji, który jest odpowiedzialny za uruchomienie DEVMODE:
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
}
}
Jak wspomniano wcześniej Używam Tomcat wewnątrz Eclipse, aby uruchomić aplikację, więc opcja jest ustawiona -noserver
.
Aby obejść ten problem, należy użyć zasobów-kopii-wtyczki-maven-resource, src/main/webapp $ {project.build.directory}/gwt-webapp outputDirectory>. https://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html –