Maven学习记录
Posted 风过无痕521
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven学习记录相关的知识,希望对你有一定的参考价值。
一、简单介绍
Maven 是一个项目构建和管理自动化工具,通过它可以便捷的管理项目的生命周期,包括项目的jar包依赖,开发,测试,发布,打包等。
二、基本概念
2.1 Pom - 项目对象模型
全称(project object model)
2.2 Artifact - 项目原型
即项目模板
2.3 Repositories - 仓库
本地仓库:开发本机的jar包仓库
私服仓库:公司局域网服务器上的jar包仓库
中央仓库:互联网上的中央jar包仓库
远程仓库:互联网上除中央仓库以外的仓库
2.4 Build Lifecycle - 构建生命周期
maven有一套build的生命周期,是按照一套顺序走下来的,这一套顺序就叫一个生命周期(lifecycle)。maven内置三种生命周期:default, clean 和 site。
一个生命周期分为多个build phase(构建阶段),下面是default生命周期比较重要的build phase,其他请参考:Maven – Introduction to the Build Lifecycle
validate : 验证项目是否正确以及必须的信息是否可用
compile : 编译源代码
test : 测试编译后的代码,即执行单元测试代码
package : 打包编译后的代码,在target目录下生成package文件
integration-test : 处理package以便需要时可以部署到集成测试环境
verify : 检验package是否有效并且达到质量标准
install : 安装package到本地仓库,方便本地其它项目使用
deploy : 部署,拷贝最终的package到远程仓库和其他开发者或项目共享,在集成或发布环境完成
2.5 Goal
goal代表一个特定任务
2.6 综述
maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。
生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)会挂接一到多个goal。
goal是maven里定义任务的最小单元。
三、常用命令
mvn archetype:create :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
mvn install:install-file :将本地jar包,推到本地仓库
mvn deploy : 部署,拷贝最终的package到远程仓库和其他开发者或项目共享,在集成或发布环境完成
mvn eclipse:eclipse :生成 Eclipse 项目文件
mvn idea:idea : 生成idea项目文件
mvn -Dmaven.test.skip=true : 忽略测试文档编译
四、pom文件
Maven全局配置文件settings.xml详解
1、packaging,给出了项目的打包类型,即作为项目的发布形式,其可能的类型。在Maven 3中,其可用的打包类型如下:
jar,默认类型
war
ejb
ear
rar
par
pom
maven-plugin
五、获取jar包的groupId,artifactId,version信息
http://mvnrepository.com/
http://search.maven.org/
http://mirrors.ibiblio.org/maven2/
http://repository.sonatype.org/index.html
http://www.mvnbrowser.com/
http://www.mvnrepository.com/
六、插件
1、maven-compiler-plugin
用于在编译(compile)阶段加入定制化参数
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
2、spring-boot-maven-plugin
用于 spring boot 项目的打包(package)阶段
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin>
打包插件
使用Maven assembly打多个自定义包及War包简介
利用maven-assembly-plugin加载不同环境所需的配置文件及使用场景
参考资料
是goal还是phase?Maven插件(plugin)goal的执行与生命周期(lifecycle)phase的关系
Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
Maven实战(六)--- dependencies与dependencyManagement的区别
Maven 教程(21)— maven-compiler-plugin 插件详解
mvn install:install-file将本地jar包,推到本地仓库
java – 在Spring Boot Starter中获取ArtifactId和Version
Dversion表示版本信息,怎样得到一个jar包准确的版本呢?
解压该包,会发现一个叫MANIFEST.MF的文件,这个文件就有描述该包的版本信息。
以上是关于Maven学习记录的主要内容,如果未能解决你的问题,请参考以下文章