maven学习笔记

1.maven核心概念

(1)约定的目录结构

以项目hello为例
maven项目的约定目录为
在这里插入图片描述

src目录下包含main目录和test目录,如下图

在这里插入图片描述

main下面包含java和resources两个目录
java目录中存放主程序java文件
resources存放主程序使用的配置文件
在这里插入图片描述
test下面包含java和resources两个目录
java目录中存放测试存放代码的
resources存放测试使用的配置文件

(2)坐标

解释:用来唯一定位资源,包括三项
1.groupId:组织编码,域名倒写,如,com.baidu
2.artifactid:项目名称
3.version:自定义版本号

(3)依赖(dependency):maven项目管理

使用依赖管理将jar包导入项目中
如添加junit可在pom文件中添加如下代码
< dependency>
< groupId>junit< /groupId>
< artifactId>junit< /artifactId>
< version>4.11< /version>
< /dependency>

(4)仓库

功能

存放项目使用的jar,存放maven的插件等

仓库分类

本地仓库:可以在maven安装目录/config/setting.xml指定。
中央仓库:最权威的,所有的功能都在这里。
中央仓库的镜像:分担中央仓库的压力。
私服:公司的局域网内部使用的。

(5)maven的命令

maven通过命令完成项目的构建

idea工具中,命令双击即可,dos命令如下
mvn clean:清理(将compile指令生成的target文件夹删除)
mvn compile:编译src/main/java目录中的程序,把java编译为class文件,并放到target/classes中,同时会将resources文件夹下的文件复制一份到target/classes文件夹下。
mvn test-compile:编译src/main/test目录下的java程序,拷贝到target/test-classes目录中;
mvn test:可以进行单元测试,使用junit测试src/main/java目录中的程序是否符合要求。
mvn package:把src/main/下面的程序编译后的class和resources中的配置文件放入一个压缩包,并把压缩包放到target文件夹下。
mvn install:把jar,war安装到本地仓库,在仓库中的包名为gav坐标。

(6)maven的生命周期和插件

生命周期

即项目的构建过程 清理,编译,报告,打包,安装,部署

插件

maven提供的功能,用来执行清理,编译,测试,报告,打包的程序

(7)依赖管理

依赖范围

在这里插入图片描述

(8)资源插件

<build>
	<resources>
		<resource>
			<directory>src/main/java</directory><!--所在的目录-->
			<includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
			<include>**/*.properties</include>
			<include>**/*.xml</include>
			</includes>
			<!--filtering 选项 false 不启用过滤器, *property 已经起到过的作用了-->
			<filtering>false</filtering>
		</resource>
	</resources>
</build>

1.默认没有使用resources的时候, maven执行编译代码时,会把src/main/resources目录中的文件拷>贝到target/classes目录中对于 src/main/iava目录下的非java文件不处理,不拷贝到target/classes目录中
2.我们的程序有需要把 一些文件放在 src/main/java目录中, 当我在执行java程序时,需要用到src/main/java目录中的文件。需要告诉maven 在 mv compile src/main/ava目录下的程序时,需要把文一同贝到target/classes目录中此时就需要在 中加入

(9)maven常用设置

1.maven自己的设置

在这里插入图片描述

2.maven的全局属性

自定义属性,1.在通过自定义设置变量(标签名就是变量名)
2.在pom.xml文件中的其他位置,使用 标签名使用变量的值自定义变量一般是定义,依赖的版本号,当你的项目中要使用多个相同的版本号,先使用全局变量定义,再使用 {标签名}使用变量的值 自定义变量一般是定义,依赖的版本号,当你的项目中要使用多个相同的版本号,先使用全局变量定义,再使用 标签名使用变量的值自定义变量一般是定义,依赖的版本号,当你的项目中要使用多个相同的版本号,先使用全局变量定义,再使用{变量名}

学习自我总结,如有错误,欢迎指正

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只呆小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值