Frage

Ich habe eine gemeinsame GWT-Anwendung, die (versuchen zu) Rakete-Framework mit einem CometServerServlet zu implementieren. Nachdem ich meine Servlet in web.xml und mein app.gwt.xml registriert, wie folgt aus:

App.gwt.xml:

<servlet path="/server" class="myapp.server.MyCometServlet"/>

web.xml

<servlet>
 <servlet-name>myCometServlet</servlet-name>
 <servlet-class>myapp.server.MyCometServlet</servlet-class>
</servlet>

<servlet-mapping>
 <servlet-name>myCometServlet</servlet-name>
 <url-pattern>/myapp/server</url-pattern>
</servlet-mapping>

Jetty findet offenbar nicht die CometServerServlet, aus dem mein MyCometServlet erweitert:

  

WARNUNG: Fehler beim Start Handler   java.lang.NoClassDefFoundError:   Rakete / remoting / server / Komet / CometServerServlet

     

Verursacht durch:   java.lang.ClassNotFoundException:   rocket.remoting.server.comet.CometServerServlet

Das ist seltsam, weil ich das Rocket-Glas zu meinem Projekt hinzugefügt haben.

Könnte jemand erklären, warum dieser Fehler passiert?

Ich könnte verstehen, wenn ich „registriert“ das Servlet in einer falschen Weise oder so etwas, aber was Jetty Punkt (oder wer?) Sieht für die CometServerServlet und versagt bei, es zu finden?

War es hilfreich?

Lösung

Hinzufügen das Glas zu einem Projekt (zum Beispiel in einigen IDE) wird Kompilierungsfehlern entfernen, weil das Glas kann bei der Kompilierung gefunden werden.

Aber Jetty muss die Bibliothek zur Laufzeit, und die übliche Art und Weise, es zu schaffen, ist, indem es in dem WEB-INF/lib Ordner Ihres Projektes setzen.

Natürlich, stellen Sie sicher, dass die App anschließend erneut bereitstellen (zum Beispiel, wenn Sie Dev-Modus verwenden, klicken Sie Refresh im "Development Mode" -Ansicht).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top