1.jar包下载不下来的处理方法:
1.确认国内源
1.1找到依赖,摁住ctrl 看到或者版本号以及他的全写
1.2去Java 依赖库查询工具网站寻找Maven Repository: Search/Browse/Explore

1.3寻找是否有自己的写的国内源存在
如果有就是是正确的,没有选择正确的国内源
2.确认依赖坐标是否正确
返回来看依赖的坐标是否是对的

3.再次刷新,多次刷新
就是一直点击刷新,一般第一次有问题,多次刷新maven就又可能好了


4.切换网络(热点,其他的流畅的网络),并删除本地仓库的jar包(可能没有下完,删除重新下载)
找到你设置的仓库位置,根据你的文件路径,找到你的本地仓库

删除仓库

找到了,删除所有的仓库里的东西

回到maven刷新重新下载

看到这右下角又重新下载啦
但是如果是右边一部分爆红的话,就是ctrl看他的地址,然后在这个路径下寻找该文件,删除重新下载

寻找里面的版本,把这个版本删除,重新刷新
从第一个路径下一次寻找

因为不管他存不存在,他都会有这个文件夹 ,不存在换正确的国内源的版本
5.添加版本(插件最好使用这个办法最简单了)
就是在这个路径下
写一个版本号
ctrl看一下他的版本就加上即可

2.排除依赖的方法
有冲突不一定要排包
1.要看他项目的实际使用的版本是多少
2.要看他的运行结果是否正确

首先乍一看,看起来挺多的,其实就引入了两个包

2.1如我们首先多加一个依赖,与他冲突
java
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>6.2.1</version>
</dependency>

2.2刷新一下,看看有没有冲突


2.3.点击冲突,就会出现冲突

那我们根据这个冲突得到这个项目中,我们用的版本是6.2.1

spring-boot-starter-web使用的是3.5.8
那也就是我们这个项目中既有3.5.8也有6.2.1这两个版本的spring-core

也就是我们需要相关的排除一下依赖即可使用6.2.14
2.4选择使用哪个版本
2.4.1使用项目使用的版本
不需要排依赖,因为此项目使用的就是此版本
在依赖中,默认使用最短路径的这个版本
什么是最短路径呢?
就是字面意思,最短长度的路径,比如说,我们这个版本使用的是6.2.1他是我们直接引用的,不会在其他的路径下


上面spring-core的是套了三层的路径下的使用
下面的spring-core 是直接使用的,路径是最短的,所以项目使用这个作为项目使用的版本
路径长度越短,版本优先级越高
2.4.2使用这个使用版本冲突的版本呢
选择1:进行排除冲突以来

点击下来Exclude
选择2:直接使用最短路径,直接改项目的使用版本,比他那个冲突路径距离短就可以了,根据情况直接改
排完了,记得刷新一下
3.比较settings 的区别的diff工具
第一种:
复制进去,对比即可
第二种:
copy一份对比

第三种:比较项目

4.认识.pom目录
1.Maven 的父 POM 配置

这个是 Maven 的父 POM 配置 ,具体是 Spring Boot 提供的spring-boot-starter-parent,它的核心作用是帮你简化 Spring Boot 项目的配置,统一管理依赖和构建规则,是 Spring Boot 项目的 "基础配置模板"。
它的核心功能一下这几点:
-
统一管理依赖版本 Spring Boot 的
spring-boot-starter-parent里已经预定义了大量常用依赖的版本(比如 Spring 框架、MyBatis、Redis 客户端等),你在项目里引入这些依赖时,不用手动写<version>版本号,父 POM 会自动帮你匹配兼容的版本,避免版本冲突。 -
默认构建配置它预先配置了 Maven 的构建插件(比如编译插件、打包插件),包含:
- 默认的 JDK 编译版本(比如 Spring Boot 3.x 默认用 JDK 17);
- 统一的字符编码(UTF-8);
- 资源文件的过滤规则;
- 打包成可执行 Jar 的默认配置等。
-
简化 POM 结构有了这个父 POM,你的项目 POM 不用重复写这些通用配置,只需要专注于项目自身的依赖和业务配置。
2.Maven 项目的「元信息配置」

Maven 项目的「元信息配置」
<groupId>:项目所属的组织 / 团队标识 比如com.ytvc是你团队 / 公司的包名前缀(通常用域名倒写,比如百度的项目会用com.baidu),用来区分不同组织的项目。<artifactId>:项目的唯一名称 这里是springbootdemo,是你这个项目在团队内的唯一标识(比如同一团队的不同项目,artifactId 会不同)。<version>:项目的版本号0.0.1-SNAPSHOT表示这是 "0.0.1 版本的快照版"(SNAPSHOT代表开发中、未稳定的版本;如果是正式版会写成1.0.0.RELEASE)。<name>:项目的友好名称 就是给人看的项目名,这里和 artifactId 一样是springbootdemo。<description>:项目的描述信息说明这个项目是干啥的,这里写了 "Spring Boot 的演示项目"。<url>:项目的主页地址比如项目的官网、Git 仓库主页,这里暂时是空的。<licenses>/<license>:项目的许可证信息比如用 Apache 许可证、MIT 许可证等(开源项目常用),这里没填。<developers>/<developer>:项目的开发者信息可以填开发者的姓名、邮箱、角色等,这里没填。<scm>:版本控制系统信息 比如项目的 Git/SVN 仓库地址(connection是仓库地址,url是仓库网页地址),这里也没填(初始化项目时默认是空的)
3.Maven 的「属性配置」

Maven 的「属性配置」 ,这里的<java.version>17</java.version>专门用来指定项目使用的 Java 版本,是 Spring Boot 项目中控制 JDK 版本的核心配置之一。
- 统一 JDK 版本 :告诉 Maven(以及 Spring Boot 的父 POM),项目的编译、运行都要使用 JDK 17(比如编译代码时支持 JDK17 的语法,打包后的程序也需要 JDK17 环境运行)。
- 自动同步编译插件 :Spring Boot 的
spring-boot-starter-parent会读取这个java.version的值,自动配置 Maven 编译插件(maven-compiler-plugin)的source和target参数(不用你手动写编译插件的版本和 JDK 版本)。
4.Web 开发场景的依赖包

-
spring-boot-starter-web这是Web 开发场景的依赖包,它帮你自动引入了 Web 开发需要的所有基础组件:- Spring MVC(处理 HTTP 请求、写 Controller 接口的核心框架);
- 内置的 Tomcat 服务器(不用自己部署 Tomcat,项目启动时会自动启动内嵌 Tomcat);
- JSON 解析工具(自动处理接口的 JSON 请求 / 响应)。引入它后,你就能直接写
@RestController做接口开发了。
5.测试场景的依赖包

spring-boot-starter-test + <scope>test</scope> 这是测试场景的依赖包 ,包含了项目测试需要的工具(比如 JUnit、Spring Test 框架);而<scope>test</scope>是 Maven 的依赖范围,意思是:这个依赖只在 "写测试代码、运行测试" 的时候生效,项目打包、运行时不会包含它,避免冗余。
6.build

1. 配置「构建插件」
<build>下的<plugins>标签用来放各类构建插件,每个插件负责一个构建环节:
- 比如
spring-boot-maven-plugin:负责把项目打包成可执行 Jar、一键运行项目; - 比如默认的
maven-compiler-plugin(Spring Boot 父 POM 自动配置):根据你<properties>里的java.version编译源码; - 还能加其他插件:比如代码检查插件、打包时跳过测试的插件等。
没有<build>里的插件配置,Maven 就不知道该怎么打包 Spring Boot 项目(只能打普通 Jar,没法直接运行)。
2. 定义「构建输出规则」
比如:
- 指定打包后的 Jar/War 名称(默认是
artifactId-version.jar,可自定义); - 配置构建产物的输出目录(默认是项目根目录的
target文件夹,可改); - 控制打包时是否包含 / 排除某些文件。
3. 处理「资源文件」
比如<build>下的<resources>标签,能配置:
src/main/resources里的配置文件(比如application.yml)是否要替换变量(比如把${server.port}换成实际值);- 哪些资源文件要复制到打包后的 Jar 里,哪些要排除。
4. 自定义「构建生命周期」
Maven 有默认的构建阶段(clean→compile→test→package→install→deploy),<build>可以绑定自定义命令到这些阶段,比如:打包前自动执行代码格式化,或者部署前自动运行测试。
通俗总结
把<build>比作「工厂的流水线配置」:
- 你的源码是 "原材料";
<build>里的插件是 "流水线的工序"(编译、打包、质检等);- Maven 按照
<build>的配置,一步步把 "原材料" 做成 "成品"(可运行的 Jar 包)。
7.插件

1. 打包成可执行的 Fat Jar/War
普通 Maven 打包的 Jar 只能当依赖用,没法直接运行;这个插件会把项目 + 所有依赖(比如 Spring 框架、Tomcat 等)打包成一个 "胖 Jar",并且自动配置好启动类(比如你的@SpringBootApplication类)。打包后直接用java -jar 项目包名.jar就能启动 Spring Boot 项目,不用额外部署 Tomcat。
2. 直接运行项目(开发调试用)
可以通过 Maven 命令不用打包就启动项目:
java
mvn spring-boot:run
适合开发阶段快速调试,改完代码后重启也很方便。
3. 配合 Spring Boot 的功能优化
比如:
- 自动处理 Spring Boot 的依赖层级,避免打包后依赖缺失;
- 配合
spring-boot-devtools实现热部署(改代码后自动重启); - 生成项目的构建信息(比如版本、构建时间)等。
5.认识src
5.1.main

src下面有Java和resourses 两个文件夹
存放 Java 源代码的核心目录,是项目的业务逻辑代码所在位置。
com.spring.demo包:项目的基础包(可自定义名称),用来组织代码。HelloController:控制器类,负责接收前端 HTTP 请求(比如访问某个 URL),处理后返回响应(比如页面、JSON 数据)。SpringbootdemoApplication:Spring Boot 的启动类 ,包含main方法,是项目的入口(运行这个类就能启动整个 Spring Boot 应用)。

5.1.1Java source root

5.1.2resource root

5.2.test sourse
存放项目的非代码资源文件
static:存放静态资源(比如 CSS 样式、JavaScript 脚本、图片等),前端页面可以直接访问这些文件。templates:存放视图模板文件(比如 Thymeleaf/FreeMarker 的 HTML 模板),用于渲染动态页面。application.properties:Spring Boot 的核心配置文件,用来配置项目的参数(比如服务器端口、数据库连接、日志级别等)。
5.2.1 Test sources root

5.2.2 标记文件夹
现在没有文件可以标记,先创建

点进去

注意:没有标记就是一个普通Java文件了
6.认识日志

6.1 认识版本号

6.2 这个是启动的进程,可以在任务管理器找到

也可以在cmd中找到

这个|是 Windows 命令行中的管道符 ,作用是把前一个命令的输出结果,作为后一个命令的输入。
在你这条命令netstat -ano | findstr "8080"中:
- 前半部分
netstat -ano:会输出所有网络连接的详细信息(包含端口、进程 ID 等); - 管道符
|:将netstat的输出内容 "传递" 给后面的findstr; - 后半部分
findstr "8080":从前面传递来的内容中,筛选出包含 "8080" 的行。
6.3设置项目名称

6.4日志的一些相关信息

6.5 tomcat 的默认端口是8080

6.6tomacat 的使用版本

6.7项目初始化

1. 启动初始化阶段
- 日志内容 :
Starting SpringbootdemoApplication using Java 17.0.9...作用:确认应用启动类、运行的 JDK 版本、进程 ID(PID)及项目路径,标志应用开始启动。
2. 配置文件加载阶段
- 日志内容 :
No active profile set, falling back to 1 default profile: "default"作用:说明未指定自定义配置文件(profile),默认使用default环境的配置(对应application.properties)。
3. 内置服务器(Tomcat)初始化阶段
-
日志内容 :
Tomcat initialized with port 8080 (http)作用:初始化内置 Tomcat 服务器,指定 HTTP 服务端口为 8080(Spring Boot 默认端口)。 -
日志内容 :
Starting service [Tomcat]/Starting Servlet engine: [Apache Tomcat/10.1.49]作用:启动 Tomcat 服务及 Servlet 引擎,明确 Tomcat 版本。
4. Spring 上下文初始化阶段
- 日志内容 :
Initializing Spring embedded WebApplicationContext/Root WebApplicationContext: initialization completed in 832 ms作用:初始化 Spring Web 应用上下文(管理 Bean、配置等核心组件),并显示初始化耗时。
5. 启动完成阶段
-
日志内容 :
Tomcat started on port 8080 (http) with context path '/'作用:确认 Tomcat 成功启动,端口 8080、上下文路径为根路径(即访问地址为http://localhost:8080)。 -
日志内容 :
Started SpringbootdemoApplication in 1.686 seconds作用:标志应用完全启动,显示总启动耗时(含进程运行时间)。
