Spring分析

[toc]

关于Idea中的Maven和Gradle中jdk版本

层次 在哪里设置 主要影响什么 是否直接决定最终编译/运行 JDK 备注
IDEA 项目层 Project Structure -> Project SDK IDEA 的项目模型、代码提示、部分本地运行配置 一般不直接决定 Gradle 项目的最终构建 JDK 更偏 IDE 层
IDEA 语法层 Project Structure -> Language level 编辑器语法检查、补全、部分 IDE 编译设置 一般不直接决定 Gradle 的最终构建 JDK 更偏“能不能写这种语法”
Gradle 进程层(IDEA 外层) Settings -> Gradle -> Gradle JVM IDEA 用哪个 JVM 启动 Gradle、导入项目、执行 Gradle task 会影响,但若配置了 Toolchain,常常不是最终任务 JDK 决定 Gradle 进程跑在哪个 JDK 上
Gradle 进程层(Gradle 内层) gradle.propertiesorg.gradle.java.home 指定这个 Gradle build/Daemon 使用哪个 JDK 运行 会影响,但若配置了 Toolchain,通常也不是最终任务 JDK 相当于强行指定 Gradle 自己跑在哪个 JDK 上
Gradle 任务层 build.gradle 里的 toolchain compileJavatestjavadocJavaExec 等任务实际使用的 JDK 通常最关键 有 Toolchain 时,任务通常按它走
Gradle 兼容层 sourceCompatibility / targetCompatibility / --release 指定源码级别、目标字节码级别、API 兼容级别 会影响编译结果,但不等于指定“Gradle 自己运行的 JDK” 和 Toolchain 不是一回事
Maven 进程层 IDEA 里的 Maven Runner JRE / 系统 JAVA_HOME Maven 这个程序本身跑在哪个 JDK 上 会影响,但若配置了 Maven Toolchains,也未必是最终编译 JDK
Maven 任务层 pom.xml 里的 compiler plugin、toolchains 等 Maven 编译/测试任务实际使用的 JDK 通常是最关键的

Idea中Maven、Gradle项目的三种网络代理方式

方式一:配置Idea(推荐)

image-20260320162810585

方式二:Gradle项目

①全局(不推荐)

配置~/.gradle/gradle.properties文件

1
2
3
4
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7897
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7897

②项目级(推荐)

配置``gradle.properties`文件

1
2
3
4
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=7897
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=7897

方式三:Maven项目

①全局(不推荐)

配置~/.m2/setting.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
<settings>
<proxies>
<proxy>
<id>local-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>127.0.0.1</host>
<port>7897</port>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
</settings>
Contents
  1. 1. 关于Idea中的Maven和Gradle中jdk版本
  2. 2. Idea中Maven、Gradle项目的三种网络代理方式
    1. 2.1. 方式一:配置Idea(推荐)
    2. 2.2. 方式二:Gradle项目
    3. 2.3. 方式三:Maven项目
|