Ich schreibe gerade eine GWT-Anwendung und möchte diese Anwendung sowohl in der GWT-Shell als auch in Tomcat testen. Die Anwendung verwendet verschiedene Eclipse-Projekte für die GWT-Benutzeroberfläche und für die Business-Service-Schicht.
Ich habe herausgefunden, dass dies leicht möglich ist, wenn Sie ein dynamisches Webprojekt von Eclipse WTP anstelle des Standard-Java-Projekts verwenden, das vom GWT projectCreator erstellt wird.
Die Verwendung eines dynamischen Webprojekts hat folgende Vorteile:
- Es ist möglich, externe Jars und andere Eclipse-Projekte von Diensten zu verwenden, die mit dem RemoteServiceServlet implementiert sind.
- Es ist einfach, die 'kompilierte' JavaScript-Version im Tomcat zu testen, ohne eine War-Datei erstellen und bereitstellen zu müssen.
- Es ist einfach, eine War-Datei zu exportieren, die auf jedem Anwendungsserver eingesetzt werden kann.
- Erstellen Sie ein dynamisches Webprojekt MyProject in Eclipse WTP
- Verwenden Sie GWT projectCreator, ohne die Dateien .project und .classpath zu überschreiben:
projectCreator.cmd -ignore -eclipse MyProject - Verwenden Sie GWT applicationCreator, um eine GWT-Anwendung zu erstellen:
applicationCreator.cmd -eclipse MyProject com.mycompany.client.MyApplication - Fügen Sie gwt-user.jar und junit.jar zur Datei .classpath hinzu:
<classpathentry kind="lib" path="C:/gwt-windows-1.1.0/gwt-user.jar"/> <classpathentry kind="var" path="JUNIT_HOME/junit.jar"/> - Suchen und ersetzen Sie "www" durch "WebContent" in MyApplication.launch, MyApplication-compile.cmd und MyApplication-shell.cmd
- Kopieren Sie gwt-servlet.jar nach WebContent/WEB-INF/lib
- Kompilieren Sie den Java-Quellcode in JavaScript mit MyApplication-compile.cmd
- Wählen Sie "Ausführen als --> Auf Server ausführen" aus dem Kontextmenü von MyProject
- Öffnen Sie einen Browser auf die URL der Anwendung:
https://xebia.com/blog:8080/MyProject/com.mycompany.MyApplication/MyApplication.html
- Verwenden Sie GWT.getModuleBaseURL() im serviceEntryPoint:
endpoint.setServiceEntryPoint(GWT.getModuleBaseURL() + "myservice"); - Geben Sie den vollständigen Pfad in MyApplication.gwt.xml an:
<servlet path=">/com.mycompany.MyApplication/myservice" class="com.mycompany.server.MyServiceImpl"/> - Geben Sie den Pfad auch in WebContent/WEB-INF/web.xml an:
Verfasst von
Marco Mulder
Unsere Ideen
Weitere Blogs
Contact
Let’s discuss how we can support your journey.



