【教程】Maven

Maven的2个功能

1、依赖管理-jar包管理
2、项目构建-代码编译、打包、部署

Maven依赖管理的原理:

Maven的安装与配置

  1. 官网下载安装包:http://maven.apache.org/download.cgi
    我下载的是:apache-maven-3.6.3-bin.zip
  • 注意点1:我使用的idea版本是2020.1,要注意idea版本和maven版本的兼容性,下载maven之前请查询你的idea版本对应哪个版本的maven。
  • 注意点2:确定jdk在这之前已经安装好了,且jdk版本>=1.8。
  1. 解压到放到任意磁盘以及任意文件夹,注意:解压路径不要有中文
    复制路径:E:\maven\apache-maven-3.6.3
    在这里插入图片描述

  2. 配置环境变量
    "计算机"右键->“属性”->“高级系统设置”->“高级”->“环境变量”
    新建一个系统变量M2_HOME,粘贴刚刚复制的路径:在这里插入图片描述
    编辑PATH系统变量,添加刚刚创建的M2_HOME:在这里插入图片描述

  3. 测试是否安装成功
    在这里插入图片描述

Maven核心配置文件:Pom.xml

依赖就是Jar包。
下边是一个Pom.xml示例:

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 版本:4.0.0 -->
<modelVersion>4.0.0</modelVersion>
<!-- 组织名称:暂时使用 组织名称+项目名称 作为组织名称 -->
<!-- 组织名称:实际名称 按照访问路径规范设置,通常以功能作为名称:
eg: junit spring -->
<groupId>com.kkb.maven</groupId>
<!-- 项目名称 -->
<artifactId>HelloWorld</artifactId>
<!-- 当前项目版本号:同一个项目开发过程中可以发布多个版本,此处标示0.0.1版 -->
<!-- 当前项目版本号:每个工程发布后可以发布多个版本,依赖时调取不同的版本,使用不同的版本号 -->
<version>0.0.1</version>
<!-- 名称:可省略 -->
<name>Hello</name>

<!-- 依赖关系 -->
<dependencies>
	<!-- 依赖设置 -->
	<dependency>
		<!-- 依赖组织名称 -->
		<groupId>junit</groupId>
		<!-- 依赖项目名称 -->
		<artifactId>junit</artifactId>
		<!-- 依赖版本名称 -->
		<version>4.12</version>
		<!-- 依赖范围:test包下依赖该设置 -->
		<scope>test</scope>
	</dependency>
</dependencies>
</project>

搭建原生Maven项目

1.以下图中的目录结构创建文件夹
在这里插入图片描述
2.在src/main/java下创建包目录,用来存放java代码;编写java代码。
注意1:上一步创建的文件夹不属于包目录,注意java代码中package路径不要包含上一步的文件夹。
注意2:编写java代码,这里输出的内容最好是英文,中文会出乱码。
在这里插入图片描述
3.在test/java文件夹下创建包结构以及测试类
注意:
导入Demo类所在包,注意包路径
导入Junit测试包,注意我们还没有给项目添加依赖包
在这里插入图片描述
4.在src同级文件夹下存放pom.xml文件,这里开始引入Junit工具包

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.czn.maven</groupId>
    <artifactId>HelloWorld</artifactId>
    <version>0.0.1</version>
    <!-- 依赖关系 -->
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

5.通过maven命令行的方式运行项目
打开cmd后,进入到项目文件夹,运行mvn test命令进行Junit测试

注意:命令运行完后,程序会自动下载所需的依赖包,注意这里不仅仅是junit测试包,还有maven环境的依赖包,所以需要耐心等待一段时间。这里依赖包会下载到本地磁盘,后续再使用的时候就不会重新下载了。

在下载jar包的时候,我遇到了报错:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project HelloWorld: Compilation failure: Compilation failure:
[ERROR] 不再支持源选项 5。请使用 6 或更高版本。
[ERROR] 不再支持目标选项 1.5。请使用 1.6 或更高版本。

通过修改maven安装包的conf文件夹下setting.xml文件,解决了该问题。请见:Maven [ERROR] 不再支持源选项 5,请使用 7 或更高版本的解决办法

运行成功:
在这里插入图片描述
项目文件夹下多了一个target文件夹。
在这里插入图片描述

Maven常用指令

1 Mvn compile
执行 mvn compile命令,完成编译操作
执行完毕后,会生成target目录,该目录中存放了编译后的字节码文件。

2 Mvn clean
执行 mvn clean命令,执行完毕后,会将target目录删除。

3 Mvn test
执行 mvn test命令,完成单元测试操作。执行完毕后,会在target目录中生成三个文件夹:surefire、 surefire-
reports(测试报告)、test-classes(测试的字节码文件)

4 Maven package
执行 mvn package命令,完成打包操作
执行完毕后,会在target目录中生成一个文件,该文件可能是jar、war

5 Mvn install
执行 mvn install命令,完成将打好的jar包安装到本地仓库的操作
执行完毕后,会在本地仓库中出现安装后的jar包,方便其他工程引用

6 mvn clean compile 命令
cmd 中录入 mvn clean compile 命令
组合指令,先执行clean,再执行compile,通常应用于上线前执行,清除测试类

7 mvn clean test 命令
cmd 中录入 mvn clean test 命令
组合指令,先执行clean,再执行test,通常应用于测试环节

8 mvn clean package 命令
cmd 中录入 mvn clean package命令
组合指令,先执行clean,再执行package,将项目打包,通常应用于发布前
执行过程:
清理————清空环境
编译————编译源码
测试————测试源码
打包————将编译的非测试类打包

9 mvn clean install 命令
cmd 中录入 mvn clean install 查看仓库,当前项目被发布到仓库中
组合指令,先执行clean,再执行install,将项目打包,通常应用于发布前
执行过程:
清理————清空环境
编译————编译源码
测试————测试源码
打包————将编译的非测试类打包
部署————将打好的包发布到资源仓库中

idea创建Maven项目

Java类型项目

1.主界面中选择Create New Project,然后在左侧项目类型中选择Maven,右侧不勾选任何选项,点击右下角的“Next”。
2.填写项目名、GroupId、ArtifactId:
在这里插入图片描述
补充:
maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值