Maven复习手册

Maven

一、maven:是一个构建项目的工具

二、maven作用

1管理依赖:jar管理的,下载、版本
2构建项目,完成项目的编译、测试、打包、部署

三、maven使用方式

1、独立使用maven:使用maven的各种命令,完成代码的编译、测试、打包等
2、结合开发工具使用:一般在idea中使用

四、maven的安装

1、获取安装包
2、解压并且配置环境变量:M2_HOME:maven的安装目录
3、在path中加入%M2_HOME%\bin
4、测试maven的安装:mvn -v

五、maven的核心概念

1、约定的目录结构

1)项目的目录;
2)src和pom.xml平级;
3)src\main[java:主程序java文件 resources:配置文件]
4)src\test[java:测试程序代码 resources:测试使用的配置文件]

2、仓库

1)本地仓库:修改maven/conf/settings.xml其中的
2)中央仓库:https://repo.maven.apache.org
3)私服

3、pom

项目对象模型,pom.xml文件
1)坐标:唯一值,在互联网中唯一标识一个项目的
4.0.0
公司域名的倒写
自定义项目名称
自定义版本-SNAPSHOT(此后缀表开发)
默认jar web应用是war
2)依赖dependencies和dependency
3) 导入maven插件

4、maven的生命周期

下面是Maven的三个主要生命周期及其对应的命令:
1)clean生命周期:
clean:清理项目构建生成的输出目录,执行命令:mvn clean
2)default生命周期:
validate:验证项目是否正确并且所有的必要信息是可用的,执行命令:mvn validate
compile:编译项目的源代码,执行命令:mvn compile
test:运行项目的测试代码,执行命令:mvn test
package:将项目编译打包成可分发的格式,如JAR、WAR等,执行命令:mvn package
install:将项目的包安装到本地仓库,供其他项目使用,执行命令:mvn install
deploy:将项目的包部署到远程仓库,供其他项目使用,执行命令:mvn deploy
3)site生命周期
site:生成项目的站点文档,执行命令:mvn site
site-deploy:将生成的站点文档部署到服务器上,执行命令:mvn site-deploy

5、junit单元测试@Test

六、IDEA使用maven

1)一般不用IDEA内置的maven
2)配置的入口 settings和other-settings(配置当前工程和配置以后新建工程)
3)配置maven的Home directory
4)配置Runner中VM Options:-DarchetypeCatalog=internal (下插件速度快)

七、Maven的依赖范围

在Maven中,每个依赖项可以有一个可选的依赖范围(scope),用于控制该依赖项在不同环境中的可见性和使用方式。以下是Maven中常见的依赖范围及其作用:

  1. compile(编译范围):默认的依赖范围。在编译、测试和运行时都可用,会随项目一起打包并发布到仓库中。
  2. test(测试范围):仅在测试阶段可用。这些依赖项通常用于编写和执行测试代码,不会被打包到最终的产品中,也不会被其他项目引用。
  3. provided(已提供范围):在编译和测试时可用,但在运行时由容器或者其他系统提供。这种依赖项在开发和测试阶段需要,但在部署到生产环境时,由于容器或者系统已经提供了相应的实现,所以不需要包含在最终的产品中。
  4. runtime(运行时范围):在运行时可用,但不参与编译。这些依赖项在编译时不需要,但在运行时需要。例如,数据库驱动程序通常属于这个范围,因为在编译代码时不需要,但在运行时需要被加载。
  5. system(系统范围):类似于provided范围,但是需要显式提供路径。这种依赖项需要在本地系统中指定位置找到,而不是从仓库中下载。它通常用于引用本地系统中的JAR文件或者其他外部依赖。
  6. import(导入范围):用于在部分引入其他Maven项目的dependencyManagement信息。这个范围的依赖项不会真正参与构建,只用于管理依赖版本。

八、maven的属性

1、常用属性设置
2、全局变量:一般用来依赖版本号,当你的项目要用到多个相同的版本号,先用到全局变量(在中设置全局变量如<spring.version>5.5.0</spring.version>,其他位置用 s p r i n g . v e r s i o n 表示,既 {spring.version}表示,既 spring.version表示,既{变量名})
3、指定资源的插件

<build>
	<resources>
		<resource>
			<directory>src/main/java</directory>
			<includes>
				<include>**/*.properties</include>
				<include>**/*.xml</include>
			</includes>
			<filtering>false</filtering><!--filtering启过滤作用-->
		</resource>
	</resources>
</build>

作用:mybatis会用到这个作用
意义:默认没有resources的时候,maven执行编译程序时,会把src/main/resources目录中的文件拷贝到target/classes目录中。对于src/main/java中的文件则不做处理。
若我们在执行程序时需要用到src/main/java中文件,则在需要加入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值