2017-02-23 2 views
0

Ich muss eine JavaFX-Anwendung nehmen und es in eine GWT-Implementierung zu übersetzen, aber ich verstehe einige der Struktur einer GWT-Anwendung nicht vollständig.Wie kann ich GWT-Projekt benutzerdefinierte Klassen außerhalb von EntryPoint hinzufügen

In meiner Einstiegsklasse erstelle ich alle gwt-Elemente, die ich brauche, aber ich möchte einige andere Klassen hinzufügen, um einige Funktionen hinzuzufügen. Wenn ich jedoch versuche, das GWT-Projekt zu kompilieren, erhalte ich den folgenden Fehler.

[ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly 

Die src Struktur ist:

<module rename-to="Application"> 

    <!-- Inherit the core Web Toolkit stuff.     --> 
    <inherits name='com.google.gwt.user.User'/>    --> 

    <!-- Specify the app entry point class.     --> 
    <entry-point class='com.Application.client.Application'/> 

    <!--Specify the GWT style sheet       --> 
    <inherits name='com.google.gwt.user.theme.clean.Clean'/> 

    <!-- Specify the app servlets.     --> 
    <servlet path='/ApplicationService' class='com.Application.server.ApplicationServiceImpl'/> 

    <source path="com.Application.Controllers.ParameterController" /> 
</module> 

Wenn ich entfernen Sie alle Verweise von ParameterController.java in Application.java und kommentieren Sie die Quell-Tag in:

src.com.Application 
| 
+-- Client 
| | 
| +-- Application 
| +-- ApplicationService 
| +-- ApplicationServiceAsync 
|  
+-- Controller 
| | 
| +-- ParameterController 
| +-- PopupController 
|  
+-- Server 
| | 
| +-- ApplicationServiceImpl 

Meine Application.gwt.xm l Datei sieht wie folgt aus Meine Application.gwt.xm Datei kompiliert und öffnet in Chrom mit allen leeren Elementen ohne jegliche Funktionalität.

Wie kann ich zulassen, dass der Code außerhalb von Application.java in meinem gwt-Projekt verwendet werden kann? Gibt es eine bestimmte Klasse, die ParameterController.java erben muss, um kompilierbar zu sein, wenn ja, was?

Antwort

0

Das Client-Paket wird nur zur Kompilierung hinzugefügt, wenn Sie kein <source/> Element angeben, da der Standardwert <source path="Client"> ist.
In Ihrem Beispiel ist der einzige Code, der vom GWT-Compiler kompiliert wird (und auf der Clientseite verwendbar ist), Ihre ParameterController.
Durch Hinzufügen von <source path="Client"> zu Ihrer *.gwt.xml Datei sollte das Problem behoben werden.
(Auch die Paketnamen sollten keine Großbuchstaben verwenden.)

Verwandte Themen