Maven项目构建

一、什么是Maven

Maven这个单词来自于意第绪语(犹太语),意为知识的积累。Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

二、Maven的作用

  • Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。
  • 对应第三方组件用到的共同 jar,Maven 自动解决重复和冲突问题。
  • Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。
  • Maven 可以统一每个项目的构建过程,实现不同项目的兼容性管理。

三、Maven生命周期

maven中定义的3套生命周期:

  1. clean生命周期:目的是清理项目,它包含三个阶段: pre-clean 执行一些需要在clean之前完成的工作; clean 移除所有上一次构建生成的文件; post-clean 执行一些需要在clean之后立刻完成的工作。
  2. default生命周期:是maven主要的生命周期,主要被用于构建应用。
名称 说明
validate 验证项目结构是否正常,必要的配置文件是否存在
initialize 做构建前的初始化操作,比如初始化参数、创建必要的目录等
generate-sources 产生在编译过程中需要的源代码
process-sources 处理源代码,比如过滤值
generate-resources 产生主代码中的资源在 classpath 中的包
process-resources 将资源文件复制到 classpath 的对应包中
compile 编译项目中的源代码
process-classes 产生编译过程中生成的文件
generate-test-sources 产生编译过程中测试相关的代码
process-test-sources 处理测试代码
generate-test-resources 产生测试中资源在 classpath 中的包
process-test-resources 将测试资源复制到 classpath 中
test-compile 编译测试代码
process-test-classes 产生编译测试代码过程的文件
test 运行测试案例
prepare-package 处理打包前需要初始化的准备工作
package 将编译后的 class 和资源打包成压缩文件,比如 jar或war
pre-integration-test 做好集成测试前的准备工作,比如集成环境的参数设置
integration-test 集成测试
post-integration-test 完成集成测试后的收尾工作,比如清理集成环境的值
verify 检测测试后的包是否完好
install 将打包的组件以构件的形式,安装到本地依赖仓库中,以便共享给本地的其他项目
deploy 运行集成和发布环境,将测试后的最终包以构件的方式发布到远程仓库中,方便所有程序员共享
  1. site生命周期:是建立和发布项目站点,Maven能够基于pom.xml所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。主要包含以下4个阶段:pre-site 执行一些需要在生成站点文档之前完成的工作;site 生成项目的站点文档;post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;site-deploy 将生成的站点文档部署到特定的服务器上。

四、构建Maven项目本地仓库

1、下载Maven
Maven下载地址
打开链接,点击下载。
也可以选择历史版本下载。


2、安装Maven
下载完成后,解压即可。建议将资源库放在C盘外的位置。我的位置是:C:\Program Files\Java\apache-maven-3.8.5

3、配置Maven环境变量
新建系统环境变量。
变量名:MAVEN_HOME
变量值:C:\Program Files\Java\apache-maven-3.8.5(设置自己maven仓库位置)

在系统变量path中追加:C:\Program Files\Java\apache-maven-3.8.5\bin(设置自己maven仓库位置)


检验Maven是否已经安装并且配置好了环境变量,通过DOS命令检查一下是否安装成功 使用命令:mvn -v

4、配置Maven本地仓库
在你的安装路径(我的是:C:\Program Files\Java\apache-maven-3.8.5)下,新建repository文件夹,用于maven的本地仓库在安装路径找到settings.xml文件,如在:C:\Program Files\Java\apache-maven-3.8.5\conf 目录下
用记事本打开,快捷键 Ctrl + F 查找 可以查找到如下的一段代码

<localRepository>/path/to/local/repo</localRepository>

localRepository节点默认是被注释掉的,现在需要将localRepository节点的值改为之前创建的目录C:\Program Files\Java\apache-maven-3.8.5\repository
localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。

运行DOS命令

mvn help:system

配置成功的话,那么repository文件夹会存在一些文件 ,路径:C:\Program Files\Java\apache-maven-3.8.5\repository

5、eclipse配置Maven环境
找到为Window->Preferences->Maven->Installations,右侧点击Add
选择maven的安装目录,然后点击完成
选中刚刚添加的maven,并点击Apply and close
打开Window->Preferences->Maven->User Settings,配置Maven并点击Apply and close

6、IDEA配置Maven环境

点击IDEA左上角的 File -> Settings -> Build, Execution, Deployment ->在 Build Tools 中找到Maven,修改安装目录、设置、仓库的所在位置
7、设置Maven使用镜像
对Maven的设置都通过修改其自带的setting.xml进行,打开Maven所在的文件夹->config文件夹->使用编辑器打开setting.xml。由于Maven自身的镜像国内使用速度慢的离谱,所以首先我们设置其下载镜像为国内的镜像

 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>    </mirror>

Java初级项目学习第一讲:Maven项目构建相关推荐

  1. Maven学习总结(二)——Maven项目构建过程练习

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验 ...

  2. SSM通用活动报名系统(会员、管理员)+SSM框架+mysql+tomcat+Maven项目(毕设学习)可以用于学习SSM、maven项目入门

    SSM通用活动报名系统(会员.管理员)+SSM框架+mysql+tomcat+Maven项目(毕设学习)可以用于学习SSM.maven项目入门 可以用于课程设计.毕业设计的知识点入门学习 提示:此资源 ...

  3. 视频教程-Java初级入门知识精讲-Java

    Java初级入门知识精讲 多年IT教育和软件开发经验,课程架构师,讲师,创业者,产品经理 孔德孟 ¥39.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程 ...

  4. 深度学习第一讲之深度学习基础

    技术交流qq群: 659201069 深度学习第一讲之深度学习基础 转载请注明出处! 本篇博文从what.why.when.who.where.how五个方面来分析深度学习,接下来讲如何入门,我门将通 ...

  5. 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例

     1 若想让maven项目依赖另外一个maven项目,被依赖的项目要在maven仓库中有相应的jar包,所以要对依赖的项目执行mvninstall命令. 2 新建第二个项目模块HelloFrien ...

  6. springboot+vue+java台球厅会员和设备管理系统maven项目源码

    台球厅是近些年开始发展的,发展势头很猛,尽管内部管理系统已趋于完善,但网上管理以及会员客户的网上服务还不普及,大多数台球厅多为人工现场操作,为了能够提高客户效率,并且能够提供更为便捷周到的服务,有必要 ...

  7. mybatis 学习一 建立maven项目

    一.直接建立Maven项目方法 1.建立Maven项目 接下来使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例: 1.1 选择建立Maven Project 选择Fi ...

  8. Maven学习总结(十一)——Maven项目对象模型pom.xml文件详解

    2019独角兽企业重金招聘Python工程师标准>>> <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  9. eclipse不识别java,在Eclipse中运行的Maven项目存在问题,无法识别为Java项目

    我已经将现有的maven项目导入Eclipse.我试图为JUnit测试设置配置,但是我的项目不会成为可测试项目.当我手动输入项目名称时,收到以下消息: 指定的项目不是Java项目 我还注意到,在键入代 ...

最新文章

  1. Linux下的redis的持久化,主从同步及哨兵
  2. Redis事务中几种常见的场景-exec执行前后的语法错误时的处理
  3. QT的QDateTimeAxis类的使用
  4. 美国读本科出勤率低被休学,无法毕业怎么办
  5. 智伴机器人安卓怎么设置个人热点_周五到!!宿舍断网怎么办,教你一招
  6. php fpm 统计,php实现fpm开启状态统计的方法
  7. 免费wordpress主题在线生成网站
  8. 斯诺登NFT作品拍得者PleasrDAO将继续收藏NFT艺术品
  9. sql查询条件为空的另类写法o( ̄▽ ̄)d
  10. struts2路径配置_Struts 2结果路径配置示例
  11. Flutter 进阶篇-所有知识点架构
  12. POJ2187 Beauty Contest
  13. 2019年密码与安全新技术讲座-课程总结报告
  14. 银行信贷系统java_java毕业设计_springboot框架的银行信贷系统
  15. H5调用摄像头实现视频拍摄及iOS兼容性问题
  16. 进销存管理系统是什么?能给企业带来哪些好处?
  17. 计算机如何格式化和重装系统,怎样格式化c盘重新安装系统_重装系统时如何格式化C盘...
  18. Vue中3.0版本严格模式运行项目报错
  19. 竞赛——【蓝桥杯】2022年11月第十四届蓝桥杯模拟赛第一期Python
  20. ftp服务器怎么修改打开方式,ftp服务器怎么修改打开方式

热门文章

  1. OneNote无法登录 遇到临时服务器问题
  2. 安装oracle 19c rac报错:2节点执行root.sh asm实例启动失败
  3. 烤仔观察 | 秋天的第一口“菠萝”真的那么好吃吗?
  4. 交换机下配置banner login是做什么的
  5. Oracle-数据库组件invalid问题处理
  6. 力扣每日一题2021-12-24中等题:吃苹果的最大数目
  7. JavPlayer 109 1.09 AI破坏马赛克
  8. 国际证券市场发展简史(二)美国证券市场
  9. 直接灰度变换法matlab,数字图像处理-灰度变换(附MATLAB代码)
  10. java 使用subList痛彻心扉的领悟