JAVA开发常用Maven软件管理工具【奔跑吧!JAVA】
JAR文件制作方式
1、JAVA开发的应用在发布前通常会打包一个JAR文件,JAR( Java ARchive )是将一系列文件(包含库、依赖文件等)合并到单个压缩文件里
2、手动制作:早期使用jar命令制作JAR文件,所有的编译、测试、代码生成、打包等工作需要手动重复执行,效率较低,出错的机率较高
3、自动生成:借助Maven等工具,自动进行软件包生命周期的管理,从而提高工作效率,降低出错的机率
注:
程序开发的过程当中,构建工程,编写代码,测试代码,打包,部署,上线等每天都是重复工作。在传统过当中需要手工的去操作,那么效率是低效的。
自动化构建工具Maven一键全自动完成构建工程,编写代码,测试代码,打包,部署,上线等工作,那么效率是高效的。
Maven介绍
Maven是Apache下的一个纯Java开发的开源项目,基于项目对象模型(缩写:POM),可以对Java项目进行构建,依赖管理。
Maven官网链接: http://Maven.apache.org/
Maven下载链接: http://Maven.apache.org/download.cgi
Maven安装指导: http://Maven.apache.org/install.html
1、当下Java开发工具圈中,目前最主流的有以下三个开发工具,Lvy依赖Maven 依赖gradle依赖,依赖管理已经成为了项目构建自动化工具中的一个主要部分
2、构建在编程中是指什么?编程过程当中很多事情是与编程无关的项目管理工作,如下载依赖,编译源码,单元测试,项目部署等。一般的,小型项目我们可以手动实现这些操作,然而大型项目去实现则相对复杂。构建工具是帮助我们实现一系列项目管理、测试和部署操作的工具
3、对于Java项目的构建工具;传统构建工具有Ant,主流构建工具:Maven,新兴构建工具:Gradle
4、Maven构建项目的生命周期有哪些?
validate:验证项目以及相关信息是否正确
compile:编译源代码和相关资源文件
test:对测试代码进行测试
package:根据不同的项目类型进行打包:
verigy:验证打包的正确性
install:将打包好的包安装到本地
deploy:将打包好的包发布到远程
POM文件简介
Pom ( project object model )是Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等。以下为pom文件的部分内容:
version:项目的版本号,如果项目仍然处在开发阶段,通常在版本中带有-SNAPSHOT
modelverion:模型版本,目前是4.0.0
groupld:组织id,一般是一个公司域名的倒写
artifactld:项目名称,自定义生成
注:
groupld、artifactld和version组成了坐标,是一个项目的唯一标识,坐标除了标识项目外,另外也可以对应用使用的依赖进行标识
Maven仓库简介
1、本地仓库
存储在本地磁盘默认在S{user.home/.m2下,修改本地仓库位置需要修改Maven安装目录下conf/settings.xml文件的local_repository参数
Maven参考搜索顺序:
- 本地仓库找到,直接返回。
- 本地仓库没有找到,去远程仓库搜索
2、远程仓库
一般使用国内镜像或者公司自己搭建私服,可以加快jar包下载速度。指定远程仓库需要修改settings.xml文件中的servers参数
Maven参考搜索顺序:
- 没有配置远程仓库,去中央仓库搜索。
- 远程仓库找到,下载到本地仓库
- 远程仓库没有找到,搜索下一个远程仓库,依次类推,如果所有远程仓都未找到,搜索中央仓。
配置优先搜索鲲鹏Maven仓库
在鲲鹏应用开发时,建议将远程仓库配置为优先搜索鲲鹏Maven仓库
- 修改settings.xml文件
- 在profiles便签下增加鲲鹏Maven仓库的信息,包括id、url
- 将鲲鹏Maven仓库的信息放在第一位,使其可以被优先使用
<profile>
<id>kunpeng</id>
<!-- 远程仓库列表,将华为鲲鹏 Maven 仓库放在最前面 -->
<repositories>
<repository>
<id>kunpengmaven</id>
<name>kunpeng maven</name>
<url>https://repo.huaweicloud.com/kunpeng/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- 其他 repository,配置其他Maven中央仓库,以华为云Maven为例 -->
<repository>
<id>huaweicloud</id>
<name>huaweicloud maven</name>
<url>https://repo.huaweicloud.com/repository/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
</profile>
<!-- 激活上面的profile -->
<activeProfiles>
<activeProfile>kunpeng</activeProfile>
</activeProfiles>
3、中央仓库
Maven团队维护的jar包仓库https://repo1.Maven.org/Maven2/
Maven参考搜索顺序:
中央仓库找到,下载到本地仓库。
中央仓库没有找到,前台打印错误信息。
Maven生命周期
Maven为了对所有的构建过程抽象和统一,形成了一套高度完善的和易于扩展的生命周期
Maven拥有3套生命周期
1、clean:清理
- pre-clean 执行一些需要在clean之前完成的工作
- clean移除所有上一次构建生成的文件
- post-clean执行一些需要在clean之后立刻完成的工作
2、default:编译、测试、打包、发布等
- default生命周期是真正构建时所需要执行的所有步骤
3、site:站点生成
- site生命周期目的是见建立和发布项目站点
Maven应用打包流程
开发后的应用可以使用Maven,通过POM文件的方式进行打包,并且,打包后的程序可以安装到本地仓库中,供其它程序调用
注:JAR ( Java ARchive)是将一系列文件合并到单个压缩文件里,就象Zip那样。然而,同Java中其他任何东西一样,JAR文件是跨平台的,所以不必关心涉及具体平台的问题。
【奔跑吧!JAVA】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/265241
- 点赞
- 收藏
- 关注作者
评论(0)