6

我最近从 GWT 2.0.4 更新到 2.1.0。从那以后我不能再编译我的 GWT 应用程序了。当我单击 GWT eclipse 插件的 GWT 编译按钮时,出现以下错误:

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"

我也无法在 Eclipse 中创建新的 GWT 项目。在新的新建 Web 应用程序项目对话框中,可以选择使用 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 在类路径中......

有谁知道如何解决这个问题?我还设置了一个全新的 Eclipse 安装,安装了新的 GWT 插件,并选择了一个新的工作区目录,但这仍然给了我错误......

附加信息:

  • 视窗XP,
  • Eclipse for Java EE 3.6 Helios,
  • J2EE/Java 1.6.0_22-b04
  • Eclipse 3.6 1.4.0.v201010280102 的谷歌插件,
  • 谷歌应用引擎 Java SDK 1.3.8 1.3.8.v201010161055
  • 谷歌网络工具包 SDK 2.1.0 2.1.0.v201010280102
4

8 回答 8

4

我遇到了同样的问题,无法在 Eclipse 中创建新的 GWT 项目。从我的 Windows 环境变量中删除 Classpath 变量(显然会干扰 Eclipse 中的设置)为我解决了这个问题。

于 2010-11-11T15:08:53.810 回答
1

就我而言,从 google maven repo 下载的 jar (gwt-dev-2.1.0.jar) 已损坏!我将 repo 中的 jar 替换为包含类的 jar,并且 mvn gwt:run 有效!

希望这可以帮助。

于 2010-11-09T00:38:13.597 回答
1

我遇到了类似的问题,我不断收到 java.lang.NoClassDefFoundError: com/google/gwt/dev/Compiler。在四处搜索时,我意识到 gwt 版本缺少 gwt 安装目录内的 gwt-dev 文件夹中的文件。

实际上,我在我的项目中使用了 maven 和 gwt 2.5.0,我发现 .m2\repository\com\google\gwt\gwt-dev\2.5.0 文件夹中应该存在四个文件才能使 gwt 编译器工作. 那些是

  • gwt-dev-2.5.0.jar <-有时这已损坏
  • gwt-dev-2.5.0.jar.sha1 <- 这个不见了
  • gwt-dev-2.5.0.pom
  • gwt-dev-2.5.0.pom.sha1
于 2013-01-18T16:11:24.070 回答
0

转到您Project Properties / Build Path那里,将“ GWT library”移到 BuildPath 的顶部。

现在尝试再次重新编译。

于 2010-11-02T08:20:42.830 回答
0

我只是删除并再次包含 gwt-dev.jar 并开始工作。

于 2013-07-17T21:46:35.883 回答
0

我解决了这个问题:

  • 从您的项目中删除 GWT 库
  • 更新 eclipse 的 gwt 插件
  • 将库放回您的项目中
  • 完毕
于 2013-07-24T12:46:59.153 回答
0

我遇到了同样的问题,安装了一些 java 程序,声明了一个“ClassPath”环境变量,并使任何版本的 eclipse 的 gwt 插件无效,从 3.6(helios)到 4.2(juno)。请注意,环境变量在 Windows 操作系统中不区分大小写。解决方法:去掉系统/用户变量声明,在相关程序的启动脚本中声明变量。

于 2014-05-30T13:54:37.527 回答
0

我的理解是:

当 GWT 编译一个项目时,它需要工具“com.google.gwt.dev.Compiler”(它有一个“main”入口点);但是,GWT 不使用 Eclipse 项目的“构建路径”设置来查找工具,而是查看操作系统的“类路径”系统变量。

所以,我认为解决方案是添加“D:\Java\GWT\gwt-2.6.1\*;” (以我的情况为例)进入“类路径”并重新启动 Eclipse。从那以后它对我很有效。

于 2014-11-06T12:48:16.287 回答