-Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建/报告和文档的软件项目管理工具
2.命令
-mvn -v --查看mvn版本
-mvn compile --编译项目
-mvn test --测试项目
-mvn package --打包项目
-mvn clean --删除target(字节码文件和编译报告)
-mvn install --安装jar包到本地仓库
-mvn archetype --自动创建maven的目录
--archetype:generate ---按照提示进行创建
---Dgroup=组织名.一般为公司网址的反写+项目名
---DartifactId=项目名-模块名
---Dpackage=代码所存在的包名
---mvn archetype:generate -DgroupId=com.lhy.maven03 -DartifactId=maven03-demo -Dversion=1.0.0SNAPSHOT -Dpackage=com.lhy.maven04.demo
3.maven的坐标和仓库
-坐标 --构件.所有构件通过坐标作为其唯一标识
-仓库(用于管理项目依赖)
若本地仓库没有我们需要的构件,则去远程仓库寻找下载到本地仓库.都找不到则报错
https://repo.maven.apache.org/maven2
镜像仓库
<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>
更改maven本地目录(更新时修改settings文件)
<localRepository>D:/Workspaces/repository</localRepository>
4.生命周期
-clean 清理项目
--pre-clean 执行清理前的工作
--clean 清理上一次构建生成的所有文件
--post-clean 执行清理后的文件
-default 构建项目
compile test package install
-site 生成项目站点
--pre-clean
--site
--post-site
--site-deploy发布生成的站点到服务器上
5.插件
Maven插件的使用
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
//运行时加载
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
6.pom.xml解析
--详情见附件
7.依赖
-依赖的范围<scope></scope>
classpath
--编译
--测试
--运行
compile:默认级别.三种环境下都有效
provided:编译测试时有效
runtime:测试运行时有效
test:测试时有效 -- junit
system:与本机相关,可以执行差
import:导入到其他依赖
-依赖的传递
--maven会默认把间接依赖传递给其依赖目标
-依赖的冲突
--短路优先(依赖层级少的优先解析)
--声明优先(解析的jar包版本冲突时,采用先声明的jar包版本)
7.maven的聚合和继承
聚合(modules):将多个maven项目合并在一个项目中运行
继承(dependencyManagement):类似于Java中的继承关系
8.创建web项目
-在pom.xml中配置jetty/tomcat的坐标,不用部署即可运行
总结:
Maven可以说是一款非常强大的工具,或者说管理工具.它的所有核心都在pom.xml文件上.
Maven提供了对所有第三方资源的管理,它能很好的整合规划我们原本的项目结构.它的一切引用都在本地/中央仓库中
所有项目中用到的第三方资源(jar包/服务器..)都可以在pom.xml中声明并运行,不必手动导入
http://blog.csdn.net/jacxuan/article/details/53454819