我的主页:2的n次方_
Maven是⼀个项⽬管理⼯具, 通过 pom.xml ⽂件的配置获取 jar 包,⽽不⽤⼿动去添加 jar 包,这样就大大的提高了开发效率
创建第一个 Maven 项目
Maven 提供了标准的,跨平台的自动化项目构建方式
当我们开发了⼀个项⽬之后, 代码需要经过编译, 测试, 打包, 发布等流程, 每次代码的修改, 都需要经过这些流程, 如果代码反复调试修改, 这个流程就需要反复进⾏, 就显得特别麻烦,, ⽽Maven 给我们提供了⼀套简单的命令来完成项⽬的构建
双击就可以执行上面的命令
打包就是把所有的 class 文件全部放在一起,打成 jar 包 或者 war 包,jar 包是把开发人员已经写好的一些代码进行打包,打好的 jar 包可以引入到其他项目中,也可以直接使用这些 jar 包中的类和属性,也可以打成可执行 jar 包,这样的包就可以通过 java -jar 命令来执行
war 包可以理解为是一个 web 项目,里面是项目的所有东西,通常用于网站
双击 package 之后就可以完成打包,左边就会多一个 target 目录,里面就有打好的 jar 包
Maven 通过 pom.xml 文件的配置获取 jar 包,当前项目运行所需要的 jar 包就是依赖,例如 JDBC 的使用需要导入mysql-connector-java 的包,并且添加到项目中,使用 Maven 只需要在 pom.xml 文件中配置一下内容即可
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
然后点击一下 Maven 的刷新图标,或者点击右边的 Maven 图标然后再点刷新按钮即可
在导入上面的 jar 包之后发现除了 mysql 的包还导入了另外一个包,这就是依赖传递
例如下面导入 jar A 之后,B 和 C 也会导进来,这样就可能会发生依赖的冲突,例如导入了一个相同 jar 包的不同版本,这时就需要去判断使用哪个版本了,就需要进行依赖排除
一般情况下通过 Maven Helper 插件进行依赖排除比价方便
装完插件之后再打开 pom.xml 文件,最下面就会多一个依赖分析的选项
如果有冲突的话会有红色的显示
如果冲突的话,右键点击排除即可
然后配置文件中就会出现排除这个依赖的代码,exclusion 里面就是排除的依赖
注意:只要配置文件发生了改变就需要刷新一下 Maven
Maven 仓库本质上是一个目录,目录里边存放开发中的所有的依赖(包括 jar 包,插件等)
Maven 仓库分为本地仓库和远程仓库,远程仓库又有中央仓库,私服和其他公共库
中央仓库是全球唯一的,服务于整个互联网,所有的依赖都是从中央仓库获取的
仓库地址:Central Repository:
可以通过 https://mvnrepository.com/ 来查询所需要的依赖
查询之后就可以选择所需要的版本,然后再点进去就可以看到 Maven 的配置方式,直接点击复制即可
如果每次加载依赖都从中央仓库加载的话就会很慢,如果第一次加载先把中央仓库的依赖加载到本地仓库,之后再加载的时候就直接加载本地仓库就会快很多
在设置里面搜索 Maven,Maven的本地仓库地址,可以更改,也可以默认,settings.xml 文件可以配置一下国内源
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
上面只是对当前项目进行了设置,还需要设置之后创建的新项目
然后就是和刚刚一样的流程
一般都是自己公司团队搭建的私有仓库,有了私服之后,Maven 依赖下载的顺序就又有了改变
这两个版本任选
选择 web
创建好之后就是这样的:
接下来写一个简单的启动项目:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello spring";
}
}
在浏览器中输入路径就能运行了