Maven简介: 基于项目对象模型(POM),项目的管理工具!
1.maven下载maven.apache.org
2.配置环境变量 新建M2-HOME 变量值maven的路径;编辑PATH ;%M2-HOME%\bin 配置验证:mvn -v
3.maven目录结构
自动构建目录骨架的两种方式:
3.1. mvn archetype:generate 按照提示进行选择
3.2.mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名 com.daoan.maven01
-DartifactId=项目名-模块名 maven01-service
-Dversion=版本号 1.0.0-SHAPSHOT
-Dpackage=代码所存在的包名 com.daoan.maven01.service
规范:在创建maven项目时,package包名应该与groupId和artifactId的名字 要一致
-main
-java
-package
-test
-java
-package
4.java常用指令
编译: mvn compile
测试: mvn test
配置验证:mvn -v
删除target: mvn clean
安装jar包到本地仓库中:mvn install
对maven来说引入固件包的流程,通过mvn compile编译源代码,编译过程中程序用到了其他的工具包会到pom.xml中查找是否引入了依赖包坐标
引入之后会到本地仓库中查找,如果有,maven会将项目加入到class path中,如果没有会到网上下载,并将其放入本地仓库供我们使用
<?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.daoan.maven02</groupId> <artifactId>maven02-model02</artifactId> <version>0.0.1SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>com.daoan.maven01</groupId> <artifactId>maven01-model</artifactId> <version>0.0.1SNAPSHOT</version> </dependency> </dependencies> </project>
4.pom.xml的配置 (pom.xml和src目录平行)
在struts2中找到pom.xml (D:\opensource\struts-2.3.34\lib\struts2-core-2.3.34.jar)
pom配置:
<?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.daoan.maven01</groupId> <artifactId>maven01-model</artifactId> <version>0.0.1SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> </dependencies> </project>
5.坐标:
groupId= 组织名,公司网址的反写+项目名 com.daoan.maven01
artifactId= 项目名-模块名 maven01-service
version= 版本号 1.0.0-SHAPSHOT
package= 代码所存在的包名 com.daoan.maven01.service
规范:在创建maven项目时,package包名应该与groupId和artifactId的名字 要一致
6.仓库:
含义:存储Maven共享构建的位置
本地仓库
远程仓库 (私服、中央仓库<http://search.maven.org,很多的开源框架>)
镜像仓库(仓库X能提供Y的所有功能,setting.xml配置)
修改镜像仓库的位置,访问国内的镜像仓库 D:\Maven\apache-maven-3.5.2\conf\settings.xml 146行
<mirror> <id>maven.net.cn</id> <mirrorOf>central</mirrorOf> <name>central mirror in china</name> <url>http://maven.net.cn/content/groups/public</url> </mirror>
更改本地仓储的位置( 不建议放在C盘,但默认是C盘)
在setting.xml文件第51行修改路径: <localRepository>D:/Maven/repo</localRepository>
这样的话,在下一次编译的时候就会更改路径,将setting.xml文件复制一份到repo中,下次更新maven就不必修改setting