GWT webappcreator создает проект Maven: исходное вложение не содержит исходный файл URLClassPath.class - PullRequest
8 голосов
/ 30 ноября 2010

Я создал приложение GWT на основе Maven2, импортировал его в Eclipse, и когда я выполняю отладку как веб-приложение GWT, сеанс отладки Eclipse приостанавливается с исключением FileNotFoundException.Он отображает окно с надписью: исходное вложение не содержит источника для файла URLClassPath.class.

Я полностью уничтожил рабочее пространство Eclipse (и подкаталог .metadata), создал / импортировал пустой проект ипроисходит то же самое.Если я запускаю Run As GWT Web Application, все работает нормально (с парой предупреждений).Что мне нужно настроить, чтобы это работало в режиме отладки?

Действия по воспроизведению проблемы

1) Создание приложения

webAppCreator -noant-maven -XnoEclipse -out MyApp com.example.MyApp

2) Импорт и изменение настроек

  • Приложение импортируется в рабочую область Eclipse, в настройках установлен флажок «Использовать Google Web Toolkit».

  • «У этого проекта есть каталог WAR».Каталог WAR установлен в src / main / webapp.«Запуск и развертывание из этого каталога» снят.

3) Отладка как

Теперь нажата кнопка панели инструментов отладки, выберите «Выбрать»GWT Web Application "и выберите target / www в качестве каталога WAR.Вы должны увидеть ту же проблему.Стек вызовов на панели отладки содержит следующее:

MyApp.html [веб-приложение]
com.google.gwt.dev.DevMode на локальном хосте: 51620 поток [основной] (приостановлено (исключение FileNotFoundException))
URLClassPath $ JarLoader.getJarFile (URL), строка: 644
URLClassPath $ JarLoader.access $ 600 (URLClassPath $ JarLoader, URL), строка: 540
URLClassPath $ JarLoader $: строка: JarLoader $ line:607
AccessController.doPrivileged (PrivilegedExceptionAction) строка: недоступно [собственный метод]
URLClassPath $ JarLoader.ensureOpen () строка: 599
URLClassPath $ JarLoader. (URL, URLStreamHandler, HashMap) 58 58: строка:* URLClassPath $ JarLoader $ 3.run () строка: 810
AccessController.doPrivileged (PrivilegedExceptionAction) строка: недоступно [собственный метод]
URLClassPath $ JarLoader.getResource (String, boolean, Set) строка: 806
URLClassPath $ JarLoader.getResource (String, логическое значение) строка: 765
URLClassPath.getResource (String, логическое значение) строка: 169
URLClassLoader $ 1.run () строка:194
AccessController.doPrivileged (PrivilegedExceptionAction, AccessControlContext) строка: недоступно [собственный метод]
Панель запуска $ AppClassLoader (URLClassLoader) .findClass (String): 190
Панель запуска $ AppClassLoader (ClassLo)., логическое) строка: 307
строка запуска $ AppClassLoader.loadClass (String, boolean): 301
строка запуска $ AppClassLoader (ClassLoader) .loadClass (строка): 248 C: \ Program Files \ Java \ jdk1.6.0_21 \ bin \ javaw.exe (28 ноября 2010 15:28:32)

Версии и плагины

GWT: 2,1.

Затмение: Гелиос (3,6).

Maven: 2.2.1.

JRE / JDK: JDK 1.6.0.21.

Плагин Google для Eclipse 3.6 версии 1.4.0.v201010280102.

Maven Integration для Eclipse (m2eclipse) версия 0.10.2.20100623-1649 (он был настроен так, чтобы указывать на среду Maven 2.2.1, а НЕ использовать встроенный «экземпляр» Maven3).

1 Ответ

9 голосов
/ 01 декабря 2010

В Eclipse перейдите в Window -> Preferences -> Java -> Debug и отключите все опции для Suspend Execution.

Поскольку эта ошибка, вероятно, не вызвана вашим приложением, вам не нужен источникдля этого класса (URLClassPath).Вы можете найти источники Oracle / Sun на Java и указать на них Eclipse, если действительно хотите;)

...