【问题标题】:Error: Could not find or load main class com.google.gwt.dev.Compiler while compiling a GWT project错误:编译 GWT 项目时无法找到或加载主类 com.google.gwt.dev.Compiler
【发布时间】:2014-04-27 13:59:22
【问题描述】:

每当我尝试编译我的任何 GWT 应用程序时,编译都会失败并显示错误消息“错误:无法找到或加载主类 com.google.gwt.dev.Compiler”。这个问题是我在安装Tomcat的时候对path和classpath环境变量做了一些修改后开始出现的,不知道是不是这些修改导致了这个问题。我试图重新安装 GWT 插件,但都是徒劳的。任何帮助将不胜感激。我正在使用 Eclipse 4.3 和 GWT SDK 2.6.0。

【问题讨论】:

    标签: java eclipse gwt compiler-errors


    【解决方案1】:

    试试Run As > Run Configurations,点击左上角的X删除当前配置。应用并关闭。现在,Run As > Web application。将创建一个默认配置。

    如果您有任何 VM 参数,请在执行上述步骤之前复制它们。

    【讨论】:

    • 谢谢。那成功了。但我不明白旧的网络应用配置是如何被删除的。
    【解决方案2】:

    检查以下快照中提到的内容:

    检查Main class 是否具有com.google.gwt.dev.DevMode 的值。

    转到运行配置 >

    转到项目属性>构建路径

    检查GWT SDK是否安装正确

    【讨论】:

    • 谢谢。我不得不创建新的启动配置,旧的配置被删除了。
    • 它会在输入Main Class 的值后开始工作,如上图所示。
    【解决方案3】:

    我建议创建 maven 或 ant 脚本以在 eclipse 之外构建。

    这样,您团队中可能不使用 eclipse 的其他开发人员也可以构建/运行应用程序。

    【讨论】:

      【解决方案4】:

      设置“类路径”环境变量 = %gwt_installed_dir%

      【讨论】:

        【解决方案5】:

        我在一个使用 GWT 版本 2.4.0 而不是当前版本 2.8.2 的旧 GWT 项目中遇到了这个问题。我认为旧版本的 GWT 使用传统/经典开发模式运行。他们在 gwt-dev.jar 中的 com.google.gwt.dev.DevMode 中运行主类。

        错误实际上就是它所说的那样。 DevMode 存在于 gwt-dev.jar 中。您在类路径中的某处缺少 gwt-dev.jar。您要么需要将其添加为 pom.xml 中的 maven 依赖项,然后像这样更新您的 maven 依赖项:

        1. 在 pom.xml 中:

        <properties>
            <!-- this should be whatever version you are using -->
            <gwt.version>2.4.0</gwt.version>  
        </properties>
        
        
        <dependency>
        	<groupId>com.google.gwt</groupId>
        	<artifactId>gwt-dev</artifactId>
        	<version>${gwt.version}</version>
        </dependency>
        1. 更新依赖关系。

        在 Eclipse 中,右键单击项目 → maven → “更新项目...” → 勾选“强制更新快照/发布”(只是因为您想要彻底。不过在这种情况下可能没有必要)。 → 按确定按钮。

        或检查您的类路径中是否有 gwt-dev.jar:

        1. 在 Eclipse 中,右键单击项目 → 构建路径 → 配置构建路径 → 库选项卡 → 确保您已将 GWT SDK 添加为库,或者 gwt-dev.jar 存在于您的 maven 依赖项中的某个位置。

        【讨论】:

          【解决方案6】:

          检查您的运行配置 > 参数。当您更改类路径时,它们不会自动更新。确保在参数中正确引用了您的主类。

          【讨论】:

            【解决方案7】:

            我在 IntelliJ 中遇到了同样的错误,以下步骤解决了我的问题。

            1. (在 IntelliJ 中)转到文件 --> 项目结构 --> 构面(在项目设置下)

            2. 如果 GWT 已设置 web facet,则将其删除

            删除这个 GWT facet 后,我​​的项目编译和运行没有问题。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2015-04-10
              • 1970-01-01
              • 1970-01-01
              • 2016-05-21
              • 1970-01-01
              • 1970-01-01
              • 2017-07-17
              相关资源
              最近更新 更多