后端依赖环境
注意
以 env.module.*
为名字的配置是模块环境配置,请务必保证在开发过程中是勾选状态。
准备工作
我会以 Windows 为例介绍如何配置。
- 首先根据你的操作系统下载 JDK 21。
- 解压后放在你喜欢的目录下,我会放在
D:\Users\jcwang\Apps\Java\jdk-21.0.3
。 - 这里我们不需要配置环境变量,直接再 IDEA 中配置 SDK 即可
IDEA 环境配置
IDEA 本身支持多个版本的 SDK 配置,下面是详细介绍
添加平台 SDK
- 依次打开
文件 => 项目结构
,或者使用快捷键 Ctrl + Alt + Shift + S 打开项目结构配置面板 - 选择
平台设置 => SDK 添加 JDK...
,选择下载好的 JDK 21
配置项目 SDK
- 将
项目设置 => 项目 => SDK
设置为 JDK 21(上一步添加的) - 将
项目设置 => 项目 => 语言级别
设置为 21
配置模块语言级别
检查 项目设置 => 模块 => 语言级别
是否为 21(切记查看每个模块)
提示
这里不用配置,因为这里会读取 maven 中的配置,注意自己模块中的一下配置
<properties>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
确认 Java 编译器版本
- 依次打开
文件 => 设置
,或者使用快捷键 Ctrl + Alt + S 打开设置面板 - 选择
构建、执行、部署 => 编译器 => Java编译器
,确认字节码版本为 21
构建工具(MAVEN)JDK 版本配置
导入程序 JDK 版本
将 构建、执行、部署 => 构建工具 => Maven => 正在导入 => 导入程序 JDK
设置为 使用项目 SDK
(我们的项目 SDK 在之前已经选择了 JDK 21)
运行程序 JRE 版本
将 构建、执行、部署 => 构建工具 => Maven => 运行程序 => JRE
设置为 使用项目 SDK
(我们的项目 SDK 在之前已经选择了 JDK 21)
DEV 工具配置
spring boot devtools 端口配置
spring boot 热更新工具需要配置不同的端口才能正常运行,这个配置仅在开发时有用,为了防止污染配置文件,我们可以配置在 JVM 参数中
打开服务配置面板
选择需要配置的服务 => 右键选择编辑所选配置(或使用快捷键 Shift + F4)
配置 VM 选项
如果没有 VM 选项输入框需要选择 修改选项 => 添加 VM 选项
,会出现 VM 选项输入框。
在选项框内添加 -Dspring.devtools.livereload.port=端口号
。这个端口号你可以自定义,默认端口号为 35729
。我一般会将不同的模块设置为 38000
38001
38002
38003
等。
多环境启动(打包)配置
在项目主 pom.xml
中找到以下配置,可以添加自己的环境配置
<profiles>
<profile>
<id>jcwang-dev</id>
<properties>
<!-- nacos 命名空间 -->
<nacos.namespace>bp-cloud-jcwang-dev</nacos.namespace>
<!-- nacos 地址 -->
<nacos.addr>127.0.0.1:8848</nacos.addr>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
<!-- 日志文件写入目录 -->
<logging.filePath>/var/log</logging.filePath>
<!-- 日志文件备份目录 -->
<logging.fileBakPath>/var/log/bak</logging.fileBakPath>
</properties>
</profile>
</profiles>
bootstrap.yml
中 nacos
会读取这里的变量
spring:
cloud:
nacos:
server-addr: @nacos.addr@
namespace: @nacos.namespace@
username: @nacos.username@
password: @nacos.password@
discovery:
server-addr: ${spring.cloud.nacos.server-addr} # 注册中心地址
namespace: ${spring.cloud.nacos.namespace} # 命名空间,用于注册中心、配置中心的数据隔离(在同一个注册中心负责多个环境时极其重要),只读取此命名空间下的配置文件。
启动(打包)项目时选择自己的配置文件
打印 SQL 语句
为了防止打包时忘记修改日志级别,我们需要将 SQL 打印日志级别控制配置在 IDE 的 JVM 参数中,配置方式参考spring boot devtools 端口配置。
在 devtools 端口下加入 -Dlogging.level.com.simperfect.bp.sso.dao=trace
,最终效果类似以下形式。
-Dspring.devtools.livereload.port=35731 -Dlogging.level.com.simperfect.bp.sso.dao=trace
提示
com.simperfect.bp.sso.dao
为 dao 包路径,trace
为打印 SQL 和查询结果,如果设置为 debug
,那么只会输出 SQL。
模块环境配置
提示
通常来讲只有在打包时才需要修改这些配置,其他场景无需修改,默认为勾选状态即可。
在配置文件中存在模块环境配置,均是以 env.module.*
的方式命名。这些配置文件是为了方便打包各种产品线的时候使用,但是带来的问题就是如果在开发过程中没有勾选这些配置可能导致依赖不正确的问题, 所以切记一定要勾选这些配置文件(已经配置默认勾选,请勿手动取消勾选)。
常见问题
basic-paper-pojo 模块不在 MAVEN 中导致编译报错
主要特征
IDE 会提示找不到这个工程内的类,此时查看 IDE 右侧 MAVEN 菜单中没有 basic-paper-pojo
项目,需要手动添加