maven教程笔记

Maven基础知识

Maven是一个项目管理工具,基于项目对象模型(缩写:POM)概念,可以对java项目进行构建、依赖、报告管理。

约定配置

Maven使用约定优于配置的原则,提倡使用一个共同的标准目录结构,尽可能遵守这样的目录结构。如下所示:

目录目的
${basedir}存放pom.xml和所有子目录
${basedir}/src/main/java项目的java源代码
${basedir}/src/main/resources项目的资源,比如property文件,springmvc.xml
${basedir}/src/test/java项目的测试类,比如junit代码
${basedir}/src/test/resources测试用的资源
${basedir}/src/main/webapp/WEB-INFweb应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面
${basedir}/target打包输出目录
${basedir}/target/classes编译输出目录
${basedir}/target/test-classes测试编译输出目录
Test.javaMaven自会自动运行符合该命名规则的测试类
~/.m2/repositoryMaven默认的本地仓库目录位置

Maven 特点

  • 子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号

Maven 环境配置

Maven是一基于java的工具,安装maven之前必须要安装JDK,这里以linux为例:linux的一般安装位置为:/usr/local/apache-maven-3.3.9, 安装之后设置环境变量,编辑/etc/profile文件,在文件末尾添加如下代码:

export MAVEN_HOME=/usr/local/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m0gJLRRG-1653486635589)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210909154053850.png)]

保存文件,并运行如下命令使配置的环境变量生效:

​ source /etc/profile

然后输入以下命令检查maven相关版本信息,输出如下则代表已经安装成功:

mvn -v

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YPKVKqH4-1653486635590)(C:\Users\lele2019\AppData\Roaming\Typora\typora-user-images\image-20220525110721974.png)]

Maven POM

​ POM(Project Object Model,项目对象模型)是Maven工程的基本工作单元,是一个xml文件,包含了项目的基本信息。

​ 执行任务或目标时,Maven会在当前目录中查找pom,读取pom,获取所需的配置信息,然后执行目标。POM中可以指定以下配置:

  • 项目依赖
  • 插件
  • 执行目标
  • 项目构建profile
  • 项目版本
  • 项目开发者列表
  • 相关邮件列表信息

Maven POM

​ POM(Project Object Model,项目对象模型)定义了项目的基本信息,描述项目如何构建,声明项目依赖等。是maven工程的基本单元,是一个XML文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6BAQx6rC-1653486635592)(C:\Users\lele2019\AppData\Roaming\Typora\typora-user-images\image-20220525142526255.png)]

​ 所有POM文件都需要project袁术和三个必需字段:groupId、artifactId、Version。

​ – 第一行开头指定了该xml文档的版本和编码方式。紧接着project元素,project是pom文件的根元素。

​ – modelVersion指定了当前POM模型的版本,对于Maven 2和Maven 3来说,它只能是4.0.0;

​ – 代码中最重要是包含了groupId,artifactId和version了。这三个元素定义了一个项目基本的坐标,在Maven的世界,任何的jar、pom都是以基于这些基本的坐标进行区分的

​ – groupId定义了项目属于哪个组,这个一般使用组织或者公司的域名;比如谷歌公司的myapp项目,就取名为 com.google.myapp,myapp则是项目名称;

​ – artifactId定义了当前Maven项目在组中唯一的id,一般一个大项目可能会包含多个子项目或者模块,而artifactId就是子项目或者子模块的名称;

​ – version指定了项目当前的版本0.0.1-SNAPSHOT,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的。

​ – name元素声明了一个对于用户更友好的项目名称,所以推荐为每个POM声明name

​ 在Maven种有一个约定,项目主代码位于 src/main/java目录,项目测试代码都位于src/test/java目录。

​ 在java中,我们进行单元测试时,基本上都使用Junit,要使用Junit这个包,就要使用依赖包,需要在pom.xml中添加依赖内容:

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

Maven常用命令说明

mvn clean:表示清理操作(会默认把target文件夹中的数据清理,删除target目录)

mvn clean compile:表示先运行清理,之后进行编译,会将代码编译到target文件夹中;maven构建的所有输出都在target目录中。

mvn clean test:运行清理和测试,调用junit进行单元测试

mvn clean package:运行清理和打包,maven默认达成jar包。

mvn clean install:运行清理和安装,将打好的包安装到本地仓库中

mvn clean deploy:运行清理和发布

it进行单元测试

mvn clean package:运行清理和打包,maven默认达成jar包。

mvn clean install:运行清理和安装,将打好的包安装到本地仓库中

mvn clean deploy:运行清理和发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值