Maven框架

Maven是一个java项目管理和构建工具,它可以定义项目结构,项目依赖,并使用统一的方式进行自动化构建,是java项目不可缺少的工具

为什么学Maven

提供了一套标准化的项目结构
         不同开发工具创建的项目结构不一样,maven规范了项目的结构,开发人员上手更简单。
         提供一套依赖管理机制。(管理项目的所有jar包)。
         如果jar包很多的话,体积就会很大,占用磁盘多,传输慢,maven利用仓库统一管理了所有的jar包
         利用依赖传递的特性把相关的jar包引入进来,解决了jar包版本冲突问题

下载安装maven

         maven是一个java工具,使用它必须依赖java环境,可以去maven官网下载maven,安装配置参考官方文档
         下载地址:https://maven.apache.org/download.cgi下载比较慢,用梯子好像才能进官网

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
配置jar仓库地址
在这里插入图片描述
配置镜像网址
在这里插入图片描述

		<id>nexus-aliyun</id>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
		<mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
		<id>huaweicloud</id>
		<mirrorOf>*</mirrorOf>
		<url>https://repo.huaweicloud.com/repository/maven/</url>
    </mirror>
    <mirror>
		<id>central</id>
		<name>Maven Repository Switchboard</name>
		<url>http://repo.maven.org/maven2/</url>
		<mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
		<id>central</id>
		<name>Maven Repository Switchboard</name>
		<url>http://repo2.maven.org/maven2/</url>
		<mirrorOf>central</mirrorOf>
    </mirror>
    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
    </mirror>
  </mirrors>

2配置环境变量
根据个人maven下载地址来配置环境变量
在这里插入图片描述
添加path环境变量
注意图片里MAVEN写成了MAVE
在这里插入图片描述
配置环境变量规律:XXX_HOME真的是bin目录的上一级 PATH指的是bin目录

检测是否成功配置了maven环境

在这里插入图片描述

创建maven项目

mvn archetype:generate
两种方法

1.通过指令创建
第一次使用该指令会自动下载需要文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
利用编译工具生成
在这里插入图片描述
在这里插入图片描述
其实重要学习的就是pom文件配置信息

坐标

在这里插入图片描述

通过坐标引用jar包:依赖

***通过在pom添加文件里添加dependencies,可以去中央仓库寻找需要的依赖的dependency,网址:https://mvnrepository.com/
在这里插入图片描述
在这里插入图片描述
properties在这里插入图片描述
test测试
在test文件夹下添加测试用例,使用maven执行test指令,则会自动执行测试用例的结果,测试用例的类名要以Test开头
在这里插入图片描述
install指令
通过install指令,可以把写好的框架打包成jar包,放在本地仓库,后续可以通过本地仓库引入该依赖。

package
package在打包前会执行一系列指令,包括test
在这里插入图片描述

scope放在dependency下,用于表示该引用的依赖在什么范围内生效
比如下面图片表示webcam-capture在测试的时候才生效,但是其他时候(包括编译运行,打包)用不了
在这里插入图片描述
在这里插入图片描述
scope一般只是建议,即使都设置为compile也没太大影响,并且中央仓库提供了scope范围,可以无脑复制,但是作为追求优雅代码主义者,可以仔细考虑范围

依赖传递

当引用了一个jar包,那么就会同时引用了该jar包引用的jar包,这就叫做传递依赖
除了使用scope来限制子jar包引用的范围,也可以使用<optional>来限制jar包生效范围,在引用的jar包里的某个jar包dependency下添加<optional>true</optional>可以取消该jar包的出传递依赖,默认是false代表会传递


当然有许多依赖不归我们管理,所以控制不了jar包的scope,但是我们可以通过exclusions来取消该依赖下的某些jar包,或者可以说是依赖。
在这里插入图片描述
以上图片代表了排除了com.mys-j下的mysql-connector的依赖

除了以上方法,还可以通过覆盖的方式来覆盖不想要的依赖版本:
在这里插入图片描述
当不知道某些jar包来源于哪个文件时可以通过Show Diagram来显示jar包结构
在这里插入图片描述
聚合工程
1.创建一个项目假设其名为parent,把src删除
2.在parent文件下创建模块,假设创建两个模块分别为前端frontend和后端backend
3.修改parent下pom文件的package为pom
4.添加modules,分别为frontend和backend
5.可以不需要通过install添加到仓库里,frontend和backend都可以直接使用坐标引用
在这里插入图片描述

在这里插入图片描述

maven继承

有时候我们需要统一管理所有模块使用统一版本,这时候就需要parent父类的pom管理,我们可以自己配置parent,也可以例如下图选中parent模式。
在这里插入图片描述
下面是如何配置parent来达到统一管理所有模块
1.删除所有子模块pom文件的groupId和artifactId,在所有子模块pom文件下添加parent,包含父类的groupId和artifactId和version,同时删除原有的groupId和version
2.在父类下添加dependency模块可以为子模块引用依赖
3.在父类下pom添加denpendencyManagement可以,默认不会添加到子模块下依赖,但是可以通过子模块的pom文件添加dependency来添加模块,但是不需要version版本号了,因为父类给了版本号。

dependecies结构:
在这里插入图片描述
dependencyManagement结构:
在这里插入图片描述

  • 31
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用IDEA搭建Maven框架SSM的步骤: 1. 打开IDEA,点击"Create New Project"创建一个新项目。 2. 在左侧面板选择"Maven",然后点击"Next"。 3. 在"GroupId"和"ArtifactId"字段中输入项目的唯一标识符,然后点击"Next"。 4. 在"Project SDK"字段中选择JDK版本,然后点击"Next"。 5. 在"Project Name"字段中输入项目名称,然后点击"Finish"。 6. 等待IDEA自动创建项目结构和配置文件。 7. 打开项目的pom.xml文件,在其中添加所需的依赖项。例如,如果你需要使用SSM框架,可以添加以下依赖项: ```xml <dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.0.RELEASE</version> </dependency> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.0.RELEASE</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> </dependencies> ``` 8. 在src/main目录下创建Java源代码目录和资源目录,例如src/main/java和src/main/resources。 9. 在src/main/resources目录下创建配置文件,例如Spring配置文件和MyBatis配置文件。 10. 在src/main/java目录下创建Java类,例如Controller、Service和Mapper等。 11. 编写你的业务逻辑代码。 12. 运行你的应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值