You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ中Java 17与GWT 2.9项目配置问题求助

解决IntelliJ中Java 17 + GWT 2.9项目配置问题的方案

一、手动添加GWT SDK与模块配置

  • 打开Project Structure(快捷键Ctrl+Alt+Shift+S),进入SDKs选项卡,点击+选择GWT SDK,定位到本地已下载的GWT 2.9.0安装目录,完成SDK添加。
  • 回到Modules选项卡,选中你的项目模块,点击+选择GWT,在弹出的配置窗口中:
    • 勾选Use GWT,选择刚才添加的GWT 2.9.0 SDK;
    • 配置Module name和Output path;
    • 在Sources里指定GWT客户端代码目录(通常是src/main/java下的client包)和资源目录。

二、调整IntelliJ的JavaEE版本兼容设置

  • 进入Project Structure -> Modules -> 对应模块的Dependencies选项卡,找到JakartaEE相关依赖,右键选择Remove移除。
  • 手动添加JavaEE 8(GWT 2.9支持的版本)依赖:点击+选择Library -> From Maven,搜索javax.servlet:javax.servlet-api:4.0.1和javax.servlet.jsp:javax.servlet.jsp-api:2.3.3,添加到模块依赖中。
  • 打开Settings(快捷键Ctrl+Alt+S),进入Build, Execution, Deployment -> Compiler -> Java Compiler,将项目的Target bytecode version设置为17;同时注意,GWT 2.9.0官方仅支持到Java 11,Java 17需额外配置——在编译参数中添加--enable-preview,并在GWT编译器参数里指定-sourceLevel 17。

三、通过Maven/Gradle构建脚本配置(推荐)

Maven配置示例

在pom.xml中添加GWT插件和依赖:

<properties>
  <gwt.version>2.9.0</gwt.version>
  <java.version>17</java.version>
</properties>

<dependencies>
  <dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-user</artifactId>
    <version>${gwt.version}</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>com.google.gwt</groupId>
    <artifactId>gwt-dev</artifactId>
    <version>${gwt.version}</version>
    <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>gwt-maven-plugin</artifactId>
      <version>${gwt.version}</version>
      <executions>
        <execution>
          <goals>
            <goal>compile</goal>
            <goal>devmode</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <sourceLevel>${java.version}</sourceLevel>
        <extraJvmArgs>--enable-preview</extraJvmArgs>
        <module>com.yourproject.YourGwtModule</module>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.11.0</version>
      <configuration>
        <source>${java.version}</source>
        <target>${java.version}</target>
        <compilerArgs>--enable-preview</compilerArgs>
      </configuration>
    </plugin>
  </plugins>
</build>

配置完成后,执行mvn gwt:devmode启动开发模式,IntelliJ会自动识别Maven配置的GWT模块。

Gradle配置示例

在build.gradle中添加:

plugins {
  id 'java'
  id 'war'
  id 'com.google.gwt' version '0.10.0'
}

repositories {
  mavenCentral()
}

dependencies {
  implementation 'com.google.gwt:gwt-user:2.9.0'
  implementation 'com.google.gwt:gwt-dev:2.9.0'
  providedCompile 'javax.servlet:javax.servlet-api:4.0.1'
}

gwt {
  gwtVersion = '2.9.0'
  modules 'com.yourproject.YourGwtModule'
  sourceLevel = '17'
  jvmArgs = ['--enable-preview']
}

执行gradle gwtDev启动开发模式,IntelliJ会同步Gradle配置并加载GWT模块。

四、降级IntelliJ版本(备选)

如果上述方法都无效,可以尝试降级到IntelliJ 2021.x版本——该版本的Project Structure中仍保留JavaEE选项,未被JakartaEE完全替代,更适配GWT 2.9.0的配置逻辑。


内容的提问来源于stack exchange,提问作者Amar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:52:13