一、Maven概述
什么是maven?:
其实就是一个帮助简化开发的插件,主要用于下载jar包和插件
maven的作用:
1.依赖管理 jar包和插件
2.管理项目的生命周期
3.分模块开发
maven中的坐标:
jar包在仓库中的唯一标识,而maven仓库就是用来存放jar包的地方
maven仓库分类:
仓库名 | 作用 |
---|---|
本地仓库 | 相当于缓存,工程第一次会从远程仓库下载jar包到本地,并将jar包存放到本地仓库里,这样以后再用到这个jar包的时候就不需要去远程仓库下载了 |
远程仓库 | 1.中央仓库:由maven团队统一维护,拥有全球最完整也是最通用的jar包 2.第三方仓库:由大型公司搭建的服务器供大家使用的jar包服务器,例如:阿里云仓库 3.私服:再公司内部搭建的jar包私有服务器,一般存放公司自己开发的jar包,只供给内部使用 当然也存放大量的中央存库的jar包,由于是公司内部的所以访问速度会非常快 |
中央仓库地址:https://mvnrepository.com/
坐标的组成元素:
元素名称 | 说明 |
---|---|
groupid | 团队,公司,项目的名字,通常以创建这个项目的组织名称的逆向域名开头 |
artifactid | 模块名,在groupid下的标识一个单独模块项目的唯一标识符 |
version | 一个项目的特定版本,在开发中的项目可以使用“SNAPSHOT”加上一个特殊的标记 |
坐标的引入:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
</dependencies>
二、Maven项目的生命周期
主要阶段:
编码
测试
打包
部署
交付测试
维护
相关命令:
命令 | 说明 |
---|---|
mvn clean | 清除原来的编译结果(删除target目录) |
mvn compile | 编译,但没有编译测试文件夹(编译main目录下的文件,但是不会编译Test目录下的文件) |
mvn test | 运行测试代码(运行test目录下的测试方法,类目必须是头或尾带有test的) |
mvn package | 打包项目(根据pom.xml的配置打包类型打包项目) |
mvn install | 将项目打包并安装到本地仓库 |
mvn depoly | 发布到本地仓库或服务器 |
注意:
Maven管理项目生命周期过程都是基于插件完成的,如果在pom.xml中配置了plugin插件,则使用配置的插件版本。如果没有配置,则使用Maven默认的插件版本,默认的插件版本更低一些。
三、Jar包的依赖范围
依赖范围 | 编译classpath | 测试classpath | 运行时classpath |
---|---|---|---|
compile | yes | yes | yes |
provided | yes | yes | no |
runtime | no | yes | yes |
test | no | yes | no |
配置标签:
<scope>
就是表示这个jar包在什么情况下起作用,内容填的就是依赖范围
三种classpath:
1.编译class path:在main目录下的java代码编译时可用
2.测试class path:在test目录下的java代码编译时可用
3.运行时class path:在运行的时候可以用
总结:
依赖范围 | 说明 |
---|---|
compile | 在任意地方任意时刻都可以使用 |
provided | 编译和测试时可以,部署之后不使用 |
runtime | 编译时不使用,运行代码需要使用 |
test | 测试使用 |
四、Tomcat7插件依赖
概述:
tomcat7是一个maven插件,用来充当tomcat使用
优点:
1.快速运行的tomcat
2.支持热部署:修改webapp目录下的资源之后不需要重新部署即可访问最新的数据
3.maven官方目前只有tomcat7插件,没有提供tomcat8的版本
maven配置tomcat7插件:
<build>
<plugins>
<!--Tomcat7插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 端口号 -->
<port>8080</port>
<!-- 这里配置的是部署好的访问路径,一定要记得加上/ -->
<path>/访问路径</path>
<!--Tomcat7使用get提交参数有乱码问题,但该插件通过下面配置解决了参数乱码问题-->
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</build>
把插件中的tomcat配置到运行栏:
使用方式:
1.在插件栏找到tomcat7的run点击即可
2.点击配置好的运行栏
五、Maven自定义jar包
自定义jar包步骤:
1. 指定当前项目的坐标,并且指定打包类型:jar 2. 编写类实现功能,使用install命令安装到本地仓库中 3. 在另一个项目中,使用坐标导入上面的jar包。 4. 在项目中使用类和方法
自定义jar包的maven配置:
<!--到时候别的项目引入时候就要填写这个公司名-->
<groupId>com.pkx</groupId>
<!--需要填写的项目名-->
<artifactId>myutils</artifactId>
<!--自定义jar包的版本-->
<version>1.0</version>
导入时候的配置和现在的配置内容一模一样
使用方式:
和之前使用别的jar包一样,直接使用jar包中的类或方法即可。