Java-Maven是一个跨平台的构建工具,也是一个依赖管理工具和项目管理工具;可以用于构建和管理Java相关项目的工具。使用Maven管理项目的好处:项目结构相同,便于统一维护jar包。
它服务于构建,是一个异常强大的构建工具,自动化构建过程(从清理、编 译、测试到生成报告,再到打包和部署。只要Maven配置好项目,输入简单命令如 :mvn clean install 即可完成一系列操作)最大化的消除了构建的重复,抽象了一个完 整的构建生命周期模型,它跨平台,对外提供了一致的操作接口,标准化构建过程 。
Java-Maven是依赖管理工具和项目管理工具
通过一个坐标系统准确定位每一个构件(artifact);
通过Maven的衍生工具(如 Nexus),可以对开源类库快速定位,帮助自动下载。 maven的项目结构、测试用例命名方式等都有已经定好的规则,只要遵循规则,用户在项目间切换时免去额外时间————约定优于配置
Java-Maven包含了:
一个项目对象模型 (Project Object Model), 一个项目一个pom.xml
一组标准集合,一个项目生命周期(Project Lifecycle),
一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
使用Maven管理项目的好处主要有两点:
其一是使用Maven管理的Java 项目都有着相同的项目结构。有一个pom.xml 用于维护当前项目都用了哪些jar包;所有的java代码都放在 src/main/java 下面; 所有的测试代码都放在src/test/java下面 。
其二是便于统一维护jar包。
Java-Maven风格的项目,把所有的jar包都放在了本地"仓库“ 里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了,这样就实现了jar包共享,避免每一个项目都有自己的jar包带来的麻烦。
常用的 Java-maven 命令
compile:编译
clean:清理
test:测试
package:打包
install:安装
坐标定义
在 pom.xml 中定义坐标,内容包括: groupId、 artifactId、 version,详细内容如下:
cn.itcast.maven
maven-first
0.0.1-SNAPSHOT
:打包类型
jar:执行 package 会打成 jar 包
war:执行 package 会打成 war 包
pom :用于 maven 工程的继承,通常父工程设置为 pom
pom 基本配置
pom.xml 是 Maven 项目的核心配置文件,位于每个工程的根目录,基本配置如下:
:文件的根节点 .
: pom.xml 使用的对象模型版本
: 项目名称,一般写项目的域名
: 模块名称,子项目名或模块名称
:产品的版本号 .
:打包类型,一般有 jar、 war、 pom 等
:项目的显示名,常用于 Maven 生成的文档。
:项目描述,常用于 Maven 生成的文档
:项目依赖构件配置,配置项目依赖构件的坐标
:项目构建配置,配置编译、运行插件等。
领取专属 10元无门槛券
私享最新 技术干货