Skip to content

环境准备常见问题 ​

这里汇总后端开发环境搭建中最常碰到的问题,可直接找相关场景。

环境准备相关 ​

Q: 需要装什么版本的开发环境? ​

环境版本
JDKOpenJDK 25
Gradle9.6.0(通过 Wrapper 自动管理)

JDK 版本必须一致

项目基于 OpenJDK 25 开发,使用虚拟线程等新特性。低于 25 的版本会导致 Unsupported class file 编译错误。

Q: 怎么安装和管理 JDK 版本? ​

推荐使用 SDKMAN!:

bash
# macOS / Linux
curl -s "https://get.sdkman.io" | bash
sdk install java 25-open
sdk use java 25-open
sdk default java 25-open

# Windows(需 WSL2 或 Git Bash)
curl -s "https://get.sdkman.io" | bash
sdk install java 25-open

Q: 怎么验证 JDK 安装成功? ​

bash
java -version

输出应包含 openjdk version "25" 或类似信息。

IDEA 配置相关 ​

Q: Gradle 同步失败怎么办? ​

按以下顺序排查:

  1. 确认 Project SDK 设置为 JDK 25(File → Project Structure → Project)
  2. 确认 Gradle JVM 设置为 JDK 25(File → Settings → Build → Gradle)
  3. 勾选 Use Gradle from: 'gradle-wrapper.properties' file
  4. 尝试重新同步:点击 IDEA 右侧 Gradle 工具栏的刷新按钮

Q: 启动报错 IllegalAccessError 或 InaccessibleObjectException? ​

JDK 25 默认限制原生 API 访问。项目已通过 build.gradle.kts 自动注入以下 JVM 参数:

bash
--enable-native-access=ALL-UNNAMED
--sun-misc-unsafe-memory-access=allow

若手动运行 java -jar,需显式添加上述参数。

Q: Lombok 方法(getter/setter)报找不到? ​

  1. 安装 Lombok 插件:File → Settings → Plugins → 搜索 Lombok → 安装
  2. 启用注解处理器:File → Settings → Build → Annotation Processors → 勾选 Enable annotation processing
  3. 执行 ./gradlew clean build

依赖相关 ​

Q: 内部模块(guava-entity、guava-platform 等)依赖解析失败? ​

原因:项目使用 Gradle Version Catalog + BOM 管理依赖,IDEA 同步时需要正确识别模块间的依赖关系。

解决:

  1. 打开 IDEA 右侧 Gradle 工具栏
  2. 点击 刷新按钮(Reload All Gradle Projects)重新同步依赖
  3. 如果仍然失败,检查 Settings → Build → Gradle 中的配置:
    • 确认 Use Gradle from: 'gradle-wrapper.properties' file 已勾选
    • 确认 Gradle JVM 设置为 JDK 25

Q: Gradle 同步时报错或依赖下载失败? ​

原因:可能是网络问题或 Gradle 配置不正确。

解决:

  1. 检查网络连接,确保能够访问 Maven 中央仓库
  2. 在 IDEA 中打开 Settings → Build → Gradle
  3. 确认 Gradle JVM 设置为 JDK 25
  4. 尝试点击 Gradle 工具栏的 刷新按钮 重新同步
  5. 如果下载 Gradle 分发版失败,可以手动修改 gradle/wrapper/gradle-wrapper.properties:
properties
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-9.6.0-bin.zip

内部模块依赖说明

项目各模块(guava-parent、guava-component、guava-entity、guava-platform)通过 Version Catalog 和 BOM 管理依赖,无需手动发布到本地 Maven 仓库。IDEA 会自动识别模块间的依赖关系。