maven 查找流程

  • maven 用户——> 本地仓库——>查找私服——>远程仓库

mvn 命令

  • mvn clean 清除

  • mvn compile 编译

  • mvn test 执行测试用例

  • mvn package 打包

  • mvn install 打包后上传到本地仓库

  • mvn deploy

scop的作用

  • test:测试环境生效 juint

  • comile:编译和运行时都会生效

  • provide:编译时生效,打包时候不生效 servlet

  • runtime:编译时不生效,打包时生效 如mysql-connector-java

版本命名

  • x1.x2.x3 x1: x2:表示分支 x3:标识子分支

如:1.1.1-SNAPSHOT->1.1.1.BETA->1.1.1.RELEASE

maven的聚合

maven的依赖传递

  • maven的依赖层次和顺序关系

  • A -依赖B 依赖C;B依赖D1.1 C依赖D1.2;A依赖D的版本取决于B和C的顺序

  • 顺序优先,层次优先,短的优先

maven 私服nexus的搭建

  • 简介

  • 下载地址:

  • vi /etc/profile:

  • vi nexus.properties

  • nexus-work :私服的位置

  • type:

    • hosted:私有化仓库,专门用于存储内部生成的文件;

      • 3rd party
      • snapshots:本地项目的快照仓库
      • release:本地项目发布的正式版本
    • group:分组仓库;

      • 整合仓库,可以整合releas,snap central,
    • proxy:公网发布的jar,如spring/mybatis

      • central:中央仓库

      • apache snapshots:apache 的快照

  • 私服访问方式

    • 在pom.xml中配置站点

      <repositories><repository><id>nexusSnapshots</id><name>snapshots</name><url></url></repository>
      </repositories>
    • 在settings.xml全局配置

      • mirror:代表仓库从哪个仓库下载;profile,reponsitory:代表哪些仓库的配置

      • priole: 配置仓库站点,可以配置多个

      • activeProfiles:激活priole,相当于一些全局变量

      • distributionManagement 配置deloy,deploy前需要检查是否有权限

    <snapshotRepository><id>fuze-repo</id><url>${fuze-repo.root.path}/repositories/snapshots</url></snapshotRepository>

maven的生命周期

  • clean lifecycle : 构建前的清理工作

    • pre-clean 执行一些需要在clean之前完成的工作
    • ==clean== 移除所有上一次构建生成的文件
    • post-clean 执行一些需要在clean之后立刻完成的工作
  • Default lifecycle: 构建的核心部分,编译、打包、部署、上传
    • ==validate== 项目及所必须的环境验证
    • initialize 初始化构建状态,例如设置属性或创建目录。
    • generate-sources 生成次源包
    • process-sources
    • generate-resources
    • process-resources 复制并处理资源文件,至目标目录,准备打包。
    • ==compile== 编译项目的源代码。
    • process-classes
    • generate-test-sources
    • process-test-sources
    • generate-test-resources
    • process-test-resources 复制并处理资源文件,至目标测试目录。
    • test-compile 编译测试源代码。
    • process-test-classes
    • ==test== 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
    • prepare-package
    • ==package== 接受编译好的代码,打包成可发布的格式,如 JAR 。
    • pre-integration-test
    • integration-test
    • post-integration-test
    • ==verify==
    • ==install== 将包安装至本地仓库,以让其它项目依赖。
    • ==deploy== 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
  • site lifecycle:项目报告生成,站点文档生成
    • pre-site 执行一些需要在生成站点文档之前完成的工作
    • site 生成项目的站点文档
    • post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
    • site-deploy 将生成的站点文档部署到特定的服务器上
参考文档

  • http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

maven 插件的使用

  • 核心插件

  • 插件使用

    <build><plugins><plugin><groupId></plugin></plugins></build>如:<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.4</version><executions><execution><id>attach-source</id><phase>verify</phase><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin>
    • executions:execution

    • phase: 什么时候,生命周期阶段

    • goals:goal:干什么事情,生命周期目标

    • configuration:需要什么配置

    • rar 插件说明:

  • 打包依赖包

  • mvn rar:rar

maven系列(二)——maven应用分析相关推荐

  1. Maven系列二setting.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  2. Maven系列学习(二)Maven使用入门

    Maven使用入门 通过上一节的学习,我们已经了解和配置好了Maven,接下来需要编写代码了 1.POM(Project Object Model,项目对象模型) 和Make的Makefile类似,M ...

  3. maven系列:maven依赖讲解

    maven的一大亮点就是依赖,看一下pom.xml文件,如 <dependency><groupId>junit</groupId><artifactId&g ...

  4. Maven系列三Maven内置变量

    Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...

  5. Maven系列之Maven生命周期简介

    Maven的生命周期其实是指它对所有的构建过程进行了反复的推敲.反思,之后总结了一套高度抽象过程.基本上包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署..站点生成等步骤 Maven有 ...

  6. PE文件学习系列二 DOS头分析

    合肥程序员群:49313181.    合肥实名程序员群 :128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com PE文件 ...

  7. maven详解-maven入门

    这一节不用eclipse来创建maven项目,我们自己创建 一 Maven概念 二 maven安装 2.1 http://maven.apache.org/download.cgi下载 2.2 解压缩 ...

  8. Maven系列(二):STS(eclipse)下载并配置Maven

    STS(eclipse)下载并配置Maven 今天博主将为大家分享一下STS(eclipse)配置Maven,不喜勿喷,如有异议欢迎讨论! 以下所写内容均与以前的文章有联系可以前往博文查看,陈永佳的博 ...

  9. Maven 系列 3:如何在 Eclipse 中集成配置 Maven(以 apache-maven-3.6.2、eclipse-jee-2019-09-R-win32-x86_64 为例)

    文章目录 前言 一.打开 Eclipse 进入 Maven 配置页面 二.将本地 Maven 路径对应到 Eclipse 中 三.将配置文件集成到 Eclipse 中 四.开启 Eclipse 的 M ...

最新文章

  1. Makelife的使用
  2. Python 基础篇-正斜杠(/)和反斜杠(\)的用法
  3. 24点游戏java_Java实现24点小游戏
  4. UML中关联,聚合,组合的区别及C++实现
  5. 【图论】清理牛棚/Cleaning Shifts S(luogu 4644)
  6. Openssl-MD5
  7. linux-facl权限控制-移除-复制
  8. 【转】贝叶斯网络+马尔科夫毯 简介
  9. 你真的会写二分查找吗
  10. 在.NET/Mono上运行Java:Jeroens Frijters谈IKVM.NET
  11. 大学生静态HTML鲜花网页设计作品 DIV布局网上鲜花介绍网页模板代码 DW花店网站制作成品 web网页制作与实现
  12. 计算机机房监理细则,弱电机房工程施工监理的四大重点
  13. HMC5883L 磁力计校准
  14. 接口测试一般怎么测?接口测试的流程和步骤~
  15. python解密密文_ctf密码学------密文解码python脚本(凯撒解密)
  16. 蒲公英应用内测使用方法总结
  17. cad套索选择lisp_怎么将CAD2015,CAD2016的窗交窗口选择框的套索改为矩形吗
  18. 一看就会QuickWAP入门(转)
  19. 如何应对网站流量暴增
  20. SQL基础系列(四)——多表查询

热门文章

  1. Richardson外推加速技术(含Romberg详细分析)的Matlab实现
  2. 天津地铁行业建设现状与运营状况分析报告2022版
  3. GitLab将技术许可极狐公司-JH发行版来了
  4. 公交卡信息是在服务器还是卡片,北京“市政交通一卡通”卡号的相关说明
  5. 前端单元测试之Jest
  6. iOS - 动态库上架瘦身(去调虚拟机架构),不然验证会报错。
  7. 高薪程序员面试题精讲系列02之高薪面试经验分享
  8. Your app isn't using AndroidX Flutter错误解决
  9. 网络防御 --- 恶意软件与反病毒详解
  10. codeforces1166E. The LCMs Must be Large