Angenommen, ich möchte einen Bibliothekscode erstellen, der über mehrere GWT-Module verteilt werden kann.
Was ist die typische Methode für die Wiederverwendung dieser Bibliothek? Soll ich ein Modul für die Bibliothek erstellen und es dann in meine Datei .gwt.xml importieren? Gibt es eine Möglichkeit, es als ein Glas zu veröffentlichen?
Mach es so, wie du jedes Modul machen würdest. Es muss keine Web-App sein, es werden keine zusätzlichen Konfigurationsdateien benötigt. Nur Quellen in JAR-Datei gepackt. Die einzigen wirklichen Anforderungen sind:
*.gwt.xml
im Stammverzeichnis Ihres Moduls vor. client
-Paket für Klassen, die für js kompiliert werden sollen und server
für den Rest. Was interessant ist, wenn Ihr Modul nicht von GWT-spezifischen Klassen abhängt oder jsni verwendet, können Sie es auch mit "normalen" Java-Anwendungen verwenden.
Die Antwort auf die zweite Frage (wie Sie sie wiederverwenden) ist einfach: Fügen Sie das neu erstellte Jar zu Ihrem Klassenpfad hinzu und erben Sie dieses Modul im Moduldeskriptor Ihrer Web-App.
Und ja, sobald du es in einem Glas hast, kannst du es loslassen ;-)
Das perfekte Beispiel für einen solchen Ansatz ist Ext GWT (aka GXT): Ссылка Laden Sie einfach diese Bibliothek herunter, entpacken und Siehe setup.txt
für Installationsanweisungen und wie ist gxt.jar
(ein wiederverwendbares Modul) erledigt.
Sie müssen GWT-Module erstellen:
Siehe dieses Tutorial: GWT Tutorial - Verwenden und Erstellen von Modulen
Ich denke, der einfachste Weg ist, ein neues Projekt (Web Application) zu erstellen und es als JAR zu exportieren. Auf diese Weise haben Sie Ihre Bibliothek außerhalb eines anderen Projekts.
Wenn Sie die Bibliothek als JAR exportieren, vergessen Sie nicht, die Quelle einzubeziehen.
Um Ihre Bibliothek einem anderen Projekt hinzuzufügen, müssen Sie:
<inherits name='com.mylibrary.mylib.Mylib'/>
Eine weitere Möglichkeit, die Sie in Ihrer lib ausführen können, ist das Einbinden von serverseitigem Code, das Erstellen eines Themas (einschließlich CSS, Bilder usw.) usw.
Das ist sehr nützlich.
Hoffe, das hilft.
Es scheint, dass es jetzt einen Eclipse GWT Module Wizard von Google für genau diese Aufgabe gibt! Ссылка
Im Allgemeinen erstellen Sie ein Modul und erben es dann in Ihrem Implementierungsmodul. Sie können dies in verschiedenen Modulen implementieren, wenn Sie möchten.
Tags und Links gwt