Maven入门的介绍到安装、maven工程搭建(超详细)
项目管理工具Maven
概念:
maven是一款项目管理工具,主要是用于解决java项目中各种jar包的依赖管理,底层是java代码编写的。
maven是将项目当成一个对象来管理的,maven中一个很重要的思想是pom(project object model)项目对象模型。
作用:
- 项目的依赖管理(jar包)
- 解决jar包的版本冲突
- 项目的构建
- 项目的测试
- 项目的编译
项目的打包
maven的本质是一个项目管理工具,讲项目开发和管理过程抽象为一个项目对象模型 pom
Maven下载
下载地址:http://maven.apache.org/download.cgi
Maven是属于绿色版软件,解压即可安装
目录结构:
Maven环境变量
- 依赖java,需要配置JAVA_HOME
- 设置MAVEN自身的运行环境,需要配置MAVEN_HOME
- 测试环境配置结果
mvn -v
显示如上所示,mavne就安装成功了。
仓库
- 仓库:用于存储资源,包含各种jar包。
仓库分类
- 本地仓库:自己本地电脑上存储资源的仓库,连接远程仓库获取资源
- 远程仓库:非本地电脑上的仓库,为本地仓库提供资源
- *仓库:MAVNE团队维护,存储所有资源的仓库
- 私服:一般是公司内部存储资源的仓库,从*仓库获取资源
- 私服的作用:保存具有版权的资源,包含购买或者自主研发的jar
MAVEN中的坐标
maven中的坐标是用于描述仓库中资源的位置
https://repo1.maven.org/maven2/
- groupId:定义当前MAVEN项目所属机构或者公司的名称,通常是域名反写,例如(org.mybatis)
- artifactId:定义当前MAVEN项目名称 通常是模块名称
- version:定义当前版本号
maven坐标的作用
使用唯一的标识,唯一定位资源的位置,通过该标识可以将资源的识别与下载交予机器完成
maven默认连接的远程仓库位置
<repositories><repository><id>central</id><name>Central Repository</name><url>https://repo.maven.apache.org/maven2</url><layout>default</layout><snapshots><enabled>false</enabled></snapshots></repository></repositories>
镜像仓库配置
<mirrors> <!-- --> <mirror> <!-- mirror --> <id>nexus-aliyun</id> <!-- --> <mirrorOf>central</mirrorOf>
<!-- --> <name>Nexus aliyun</name>
<!-- URL --> <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
IDEA生成maven项目
1.配置maven
2.创建java项目
3.转换为web项目
表示创建maven工程创建成功!
4.设置pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>maven</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<!--依赖管理-->
<dependencies>
<!--junit依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<!--tomcat7插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
5.开启tomcat7 启动服务器
浏览器访问
表示maven工程初步创建工程成功。
maven依赖管理
依赖是指当前项目运行所需要的的jar包,一个项目可以设置多个依赖。
例如:
<!--junit依赖-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
maven的依赖传递
- 依赖具有传递性
直接依赖:在当前项目中通过依赖配置的依赖关系
间接依赖:被依赖的资源如果依赖于其他资源,当前项目间接依赖于其他资源
MAVEN中依赖冲突问题
- 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
- 声明优先:在资源在同级被依赖的时候,配置顺序靠前的覆盖顺序靠后的
Maven中依赖范围
默认的jar依赖在项目中的任何地方都可以使用,可以通过scope标签设置jar包的生效范围。
- 主程序范围有效:main文件夹范围内
- 测试程序范围有效:test文件夹范围内
- 是否参与打包:package指令范围内
Maven的生命周期与插件
- maven构建生命周期描述的是一次构建过程(从创建到销毁)经历了多少事件
项目构建生命周期
maven对项目构建的生命周期分为三套
- clean:清理工作
- default:核心工作,例如编译,测试,打包,部署等
- site:产生报告,发布站点等
插件
<build>
<plugins>
<!--tomcat7插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
插件的作用就是让我们可以使用自定义功能,以上就是博主个人整理的有关maven入门的相关资料。
本文地址:https://blog.csdn.net/qq_37281398/article/details/107591045
上一篇: Java学习日记7——类的继承、super使用规则
下一篇: 类加载程序分析题