maven入门基础(转)
-
maven介绍
maven是构建工具,也是构建管理工具。ant只是构建工具,因为不支持生成站点功能,只有预处理,编译,打包,测试,部署等功能。
groupId:项目组织的逆向域名,比如Apache的项目可以org.apache开头
artfactId:表示groupId下单个项目的唯一标识
version:发布项目的版本,版本标识加上SNAPSHOT标记
packing:项目打包后的输出,默认为jar。指为war项目打包生成一个web项目。
groupId,artfactId,version标识项目的唯一性,packing可以缺省
如:
填写 GroupId, ArtfactId,Version 等信息,他们的具体含义将在后文中介绍,点击 Finish,如图 8。
-
maven生命周期
介绍mvn package的生命周期,运行此命令的时候,有下图的几个阶段(左侧为阶段,右侧为阶段)
resources:resources:Resources插件把resources目标绑定到resources阶段,还有就是src/main/resources下的资源和配置输出到目标目录
compiler:compile:Compiler插件把complie目标绑定到compile阶段,还有就是把src/main/java下的源代码和配置文件输出到目标目录
resources:testRescources:Resources插件把tetsResources目标绑定到resources阶段,把src/test/resources下的资源和配置输出到目标目录
compiler:testCompile:Cpmpiler把compiler目标绑定到compile阶段,把src/test/java下的源代码和配置文件输出到目标
surefire:test:Surefire插件把test目标绑定到test阶段
jar:jar:Jar插件把jar目标绑定到package阶段,打包输出jar文件
默认仓库:http://repo1.maven.org/maven2/
本地仓库地址:C:\Users\baobao\.m2\repository
第一运行maven的时候,会从默认仓库下载很多默认的插件。构建项目的插件默认都是远程下载的。
默认仓库的地址,可以修改 。可以指向自己的服务器(用Apache Archiva搭建 maven 仓库服务器)。
maven依赖的不仅仅是一个jar文件,还有一个pom文件。这个pom文件声明了jar对其他的jar的依赖。这种依赖称之为传递性依赖 。
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
scope为test的时候,说明依赖范围是test,只有运行compile:testCompile和surefire:test目标的时候才会使用。其它的范围类似。
scope为provided的时候,依赖只是在编译的时候。
运行mvn site命令,会在target/site目录下面看到一个web站点,运行index.html可以看到项目的一些基本信息,比如开发者