Ich habe eine Maven2-basierte GWT-Anwendung erstellt, sie in Eclipse importiert und beim Debuggen als GWT-Webanwendung wird die Eclipse-Debugsitzung mit einer FileNotFoundException angehalten. Es wird ein Fenster angezeigt, das besagt: Der Quellanhang enthält nicht die Quelle für die Datei URLClassPath.class.
Ich habe den Eclipse-Arbeitsbereich (und das Unterverzeichnis .metadata) vollständig gelöscht, ein leeres Projekt erstellt / importiert und das Gleiche passiert. Wenn ich Ausführen als GWT Web Application mache, funktioniert es gut (mit ein paar Warnungen). Was muss ich optimieren, damit dies im Debug-Modus funktioniert?
1) Erstellen Sie eine Anwendung
webAppCreator -noant -maven -XnoEclipse -aus MyApp com.example.MyApp
2) Importieren und ändern Sie die Einstellungen
Die Anwendung wird in den Eclipse-Arbeitsbereich importiert. In den Einstellungen ist das Kontrollkästchen "Google Web Toolkit verwenden" aktiviert.
"Dieses Projekt hat ein WAR-Verzeichnis" ist aktiviert. Das WAR-Verzeichnis ist auf src / main / webapp eingestellt. Die Option "Von diesem Verzeichnis starten und bereitstellen" ist deaktiviert.
3) Debuggen als
Nun wird die Debug-Symbolleiste gedrückt, wählen Sie "GWT Web Application" und wählen Sie target / www als WAR-Verzeichnis. Sie sollten das gleiche Problem sehen. Der Aufrufstapel im Bereich Debug enthält Folgendes:
MyApp.html [Webanwendung]
com.google.gwt.dev.DevMode um localhost: 51620 Thema [Haupt] (Ausgesetzt (Ausnahme FileNotFoundException)) URLClassPath $ JarLoader.getJarFile (URL) Linie: 644
URLClassPath $ JarLoader.access $ 600 (URLClassPath $ JarLoader, URL) Zeile: 540
URLClassPath $ JarLoader $ 1.run () -Zeile: 607
AccessController.doPrivileged (PrivilegedExceptionAction) Zeile: nicht verfügbar [native Methode]
URLClassPath $ JarLoader.ensureOpen () Linie: 599
URLClassPath $ JarLoader. (URL, URLStreamHandler, HashMap) Zeile: 583
URLClassPath $ JarLoader $ 3.run () -Zeile: 810
AccessController.doPrivileged (PrivilegedExceptionAction) Zeile: nicht verfügbar [native Methode]
URLClassPath $ JarLoader.getResource (String, Boolean, Set) Zeile: 806
URLClassPath $ JarLoader.getResource (String, boolean) Zeile: 765
URLClassPath.getResource (Zeichenfolge, boolean) Zeile: 169
URLClassLoader $ 1.run () Zeile: 194
AccessController.doPrivileged (PrivilegedExceptionAction, AccessControlContext) Zeile: nicht verfügbar [native Methode]
Startprogramm $ AppClassLoader (URLClassLoader) .findClass (String) Linie: 190
Launcher $ AppClassLoader (ClassLoader) .loadClass (Zeichenfolge, boolean) Zeile: 307
Launcher $ AppClassLoader.loadClass (Zeichenfolge, boolean) Zeile: 301
Startprogramm $ AppClassLoader (ClassLoader) .loadClass (String) Zeile: 248 C: \ Programm Dateien \ Java \ jdk1.6.0_21 \ bin \ javaw.exe (28 Nov 2010 15:28:32)
GWT: 2.1.
Eklipse: Helios (3.6).
Maven: 2.2.1.
JRE / JDK: JDK 1.6.0.21.
Google Plugin für Eclipse 3.6 Version 1.4.0.v201010280102.
Maven-Integration für Eclipse (m2eclipse) Version 0.10.2.20100623-1649 (dies wurde so konfiguriert, dass es auf die Maven 2.2.1-Umgebung zeigt und NICHT die eingebettete Maven3 "-Instanz" verwendet).
In Eclipse gehen Sie zu Fenster - & gt; Einstellungen - & gt; Java - & gt; Debuggen und deaktivieren Sie alle Optionen für die Ausführung aussetzen.
Da dieser Fehler wahrscheinlich nicht von Ihrer App verursacht wird, benötigen Sie nicht unbedingt die Quelle für diese Klasse (URLClassPath). Sie können Oracle / Suns Java-Site nach den Quellen durchsuchen und auf Eclipse verweisen, wenn Sie das wirklich wollen;)