Maven三大组成部分:
1:依赖
2:仓库
3:生命周期和插件html
里程碑:SNAPSHOT(快照)-->alpha(内部测试)-->beta(测试)-->release(正式发布)-->GA(彻底可用)
java
user0.0.1-SNAPSHOT-->user0.0.1-Release--->user1.0.0SHAPSHOT -->user1.0.0-Rlease
-->user0.1.0-SNAPSHOT-->user0.1.0-Rlease
spring
主要内容
Maven的安装
Maven的配置
Maven的文件结构
Maven的pom.xml文件
apache
配置与安装:maven
去官网下载MAVEN压缩包;
解压便可;
配置环境变量M2_HOME等于解压目录路径;
在环境变量path增长%M2_HOME%/bin/;
在环境变量增长内存配置MAVEN_OPTS等于 -Xms128m -Xmx512m(可选)
命令行窗口测试mvn –version;测试
命令行
建立一个项目使用如下命令,在d:/a目录下执行如下命令:
D:/a> mvn archetype:create -DgroupId=项目的包名 -DartifactId=项目的名称也是建立之后的文件夹名称
ui
快速向导:pom.xml文件的结构
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--项目的包名,必须-->
<groupId>cn.wj</groupId>
<!--项目的名称-->
<artifactId>hello</artifactId>
<!--项目的版本号必须-->
<version>1.0-SNAPSHOT</version>
<!--项目打包后扩展名-->
<packaging>jar</packaging>
<!--项目名-->
<name>hello</name>
<!--中央仓库地址-->
<url>http://maven.apache.org</url>
<!--项目编码等其余信息-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--项目依赖库-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
编码
运行测试url
在存在pom.xml的目录下,执行如下命令,都会在当前目录下生成target目录,里面便是编译和测试及打包之后的结果:
mvn compile 便是指编译项目
mvn test 即运行测试
mvn package 即打包命令
mvn site 即生成引用的方式与html帮助文件
mvn clean 即删除target目录。spa
修改本地仓库地址
默认使用mvn命令行,将会在$USER_HOME/.m2目录下建立本地仓库。
能够经过修改$M2_HOME/config/settings.xml中修改如下配置:
<localRepository>D:/programfiles/.m2/repository</localRepository
Maven的目录结构
bin
包含了mvn的运行脚本mvn.bat,脚本配置java命令;
m2.conf用来配置默认仓库(repository),默认仓库为$USER_HOME/.m2;
boot
只有一个文件,java类加载器;
conf
包含一个很是重要的文件settings.xml;
此目录下的settings.xml文件为全局配置文件;
lib
Maven运行时须要的java类库;
Maven内置的超级pom文件在maven-model-builder-x.x.x.jar,里面包含了maven默认的中央仓库位置;
pom.xml是maven项目的核心;
第一个项目的pom.xml文件
<?xml version="1.0"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.taiji.mvn</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<name>helloworld</name>
<packaging>jar</packaging>
</project>
pom.xml坐标GAV的含义
project根节点
groupId
实际项目ID,通常与实际项目包名定义;
例如:spring项目org.springframework,junit项目就是junit;
artifactId
项目(模块)ID;
一般已实际项目为前缀,例如:spring-core,junit等;
pom.xml坐标含义
.version
定义项目(模块)目前的版本;分为SNAPSHOT(快照)、RELEASE(发布)等;
Jar包的名称artifactId-version.jar,因此artifactId通常以实际项目简称为前缀,例如:spring-core-3.0.5-RELEASE.jar
6.packaging
Maven项目的打包方式,默认为jar。Web项目是war,聚合项目是pom;
7.Name
就是个名字,没啥意义
未完待续