GWT/ Затмение:ClassNotFoundException com/google/gwt/dev/Компилятор
-
28-09-2019 - |
Вопрос
недавно я обновился с GWT 2.0.4 до 2.1.0.С тех пор я больше не могу скомпилировать свое приложение GWT.Когда я нажимаю на кнопку GWT compile плагина GWT eclipse, я получаю следующую ошибку:
java.lang.NoClassDefFoundError: com/google/gwt/dev/Compiler
Caused by: java.lang.ClassNotFoundException: com.google.gwt.dev.Compiler
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Exception in thread "main"
Также я не могу создать новый проект GWT в Eclipse.В Диалоговом окне new New Web Application Project можно выбрать использование GWT и / или Google App Engine.При установке флажка "Использовать GWT" появляется диалоговое окно с сообщением об ошибке, в котором говорится:"Не удалось создать элемент.Причина:Вызов com.google.gwt.user.tools.Сбой webAppCreator.Более подробную информацию смотрите в журнале ошибок ".
В файле журнала (<workspace>/.metadata/.log
) Я вижу сообщение:
!ENTRY org.eclipse.jdt.ui 4 10001 2010-11-02 08:34:50.085
!MESSAGE Internal Error
!STACK 1
Java Model Exception: Core Exception [code 0] Invocation of com.google.gwt.user.tools.WebAppCreator failed. See the error log for more details.
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:50)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4777)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.core.runtime.CoreException: Invocation of com.google.gwt.user.tools.WebAppCreator failed. See the error log for more details.
at com.google.gwt.eclipse.core.runtime.tools.WebAppProjectCreatorRunner.createProject(WebAppProjectCreatorRunner.java:53)
at com.google.gdt.eclipse.suite.wizards.WebAppProjectCreator.createGWTProject(WebAppProjectCreator.java:532)
at com.google.gdt.eclipse.suite.wizards.WebAppProjectCreator.create(WebAppProjectCreator.java:294)
at com.google.gdt.eclipse.suite.wizards.NewWebAppProjectWizard.finishPage(NewWebAppProjectWizard.java:147)
at org.eclipse.jdt.internal.ui.wizards.NewElementWizard$2.run(NewElementWizard.java:117)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4777)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
!SUBENTRY 1 com.google.gwt.eclipse.core 4 0 2010-11-02 08:34:50.085
!MESSAGE Invocation of com.google.gwt.user.tools.WebAppCreator failed. See the error log for more details.
gwt-dev.jar , gwt-user.jar и многие другие Google-jars находятся в classpath...
У кого-нибудь есть идея, как решить эту проблему?Я также настроил новую установку Eclipse, установил новый плагин GWT и выбрал новый каталог рабочей области, но это по-прежнему выдает ошибки...
Дополнительная информация:
- Windows XP,
- Eclipse для Java EE 3.6 Helios,
- J2EE / Java 1.6.0_22-b04
- Плагин Google для Eclipse 3.6 1.4.0.v201010280102,
- Google App Engine Java SDK 1.3.8 1.3.8.v201010161055
- Google Web Toolkit SDK 2.1.0 2.1.0.v201010280102
Решение
У меня была такая же проблема, не в состоянии создать новый GWT-проект в Eclipse. Удаление переменных классов из моих переменных среды Windows (не имеющая вмешательства с настройками в Eclipse) решена проблема для меня.
Другие советы
В моем случае JAR (GWT-DEV-2.1.0.jar), скачанный из Google Maven Refo, был поврежден! Я заменяю банку в моем репо с одним, содержащим классы и MVN GWT: Run работал!
надеюсь это поможет.
Я сталкивался с подобной проблемой, где я постоянно получал java.lang.noclassdeffoundError: com / google / gwt / dev / compiter. При поиске вокруг я понял, что версия GWT отсутствует файл из папки GWT-DEV внутри каталога установки GWT.
На самом деле, я использую Maven и GWT 2.5.0 для моего проекта, и я обнаружил, что внутри .m2 Refository com Google gwt gwt-dev 2.5.0 папка должна существовать четыре файла для компилятора GWT для работы Отказ Это
- gwt-dev-2.5.0.jar <-sometimes это повреждено
- gwt-dev-2.5.0.jar.sha1 <- это отсутствовало
- gwt-dev-2.5.0.pom
- gwt-dev-2.5.0.pom.sha1
Перейти к вашей Project Properties / Build Path
Там двигатьсяGWT library
«На вершину BuildPath.
Теперь попробуйте перекомпилировать снова.
Я просто, удаляю и включаю снова gwt-dev.jar и начать работать.
Я исправлю эту проблему, делаю это:
- Удалить GWT Lib из вашего проекта
- Обновите плагины GWT для Eclipse
- Поместите вернуться в свой проект
- Сделанный
У меня была такая же проблема, была установлена какая-то Java-программа, объявляющая переменную окружения "ClassPath" и делающая недействительным плагин gwt для ЛЮБОЙ версии eclipse, от 3.6 (helios) до 4.2 (juno).Обратите внимание, что переменные среды в операционных системах Windows не чувствительны к регистру.Решение:исключите объявление системной / пользовательской переменной и объявите переменную в скрипте запуска для соответствующей программы.
Мое понимание:
Когда GWT компилирует проект, ему нужен инструмент «com.google.gwt.dev.compiler» (который имеет «основную» точку входа); Тем не менее, GWT не использует настройку «Path Build Path» Eclipse Project, чтобы найти инструмент, вместо этого он смотрит на систему системной переменной «ClassPath» ОС.
Итак, я думаю, что решение - добавить «D: Java GWT GWT-2.6.1 *;» (Мой случай, как пример) в «ClassPath» и перезапустить Eclipse. Это хорошо работает для меня с тех пор.