Maven实战

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven实战相关的知识,希望对你有一定的参考价值。

目录

  。。。

第一章:Maven简介

  Maven是优秀的构建工具,跨平台,自动化构建

第二章:Maven安装与配置

  安装:安装JDK、下载Maven包解压配置环境变量

  Maven目录:

    技术分享

    技术分享

  settings.xml文件:

    Maven核心配置文件,在用户仓库目录下,同样需要这个核心文件配置用户设置

    默认用户仓库地址:~/.m2/repository

    技术分享

  确认是否需要设置代理访问仓库:Ping repo1.maven.org

    技术分享

  eclipse安装Maven插件:

    技术分享

    提示:在使用中,你有可能会遇到类似的如下的错误

    技术分享

    不要使用eclipse默认的Maven集成工具,容易出现版本命令冲突:

    技术分享

    Installations设置:

      技术分享

    User Settings设置:

    技术分享

 

第三章:Maven使用入门

  编写pom.xm文件:

    技术分享

    groupId:定义该项目属于哪个小组

    artifactId:该小组下的唯一Id

    version:该项目版本

  

  命令构建标准Maven项目骨架:mvn archetype:generate

 

第四章:案例

  注册用户

  。。。

 

第五章:坐标依赖

  <dependencies>

    <dependency>

      <groupId>...</groupId>      

      <artifactId>...<artifactId>

      <version>...</version>

      <type>...</type>:依赖类型,默认jar包

      <scope>...</scope>:依赖范围,默认compile

      <optional>...</optional>:可选依赖,值为:ture,false

      <exclusions>...</exclusions>:过滤依赖,一个或多个<exclusion><groupId>...</groupId><artifactId>...</artifactId></exclusion>

    </dependency>

  </dependencies>

 

  依赖范围<scope>:

    技术分享

  依赖传递性:引入的依赖包里还有依赖,

    技术分享

    提示:左边一列为第一直接依赖,第一行为第二间接依赖

  

  依赖调解:

    技术分享

  可选依赖<optional>:并不提倡该设置,会增加项目的不确定性

    当间接依赖中出现多种实现依赖,甚至是互斥依赖,这就需要在直接依赖中显示的指定声明具体实现依赖

    技术分享

    间接依赖B:pom.xml

      技术分享

    直接依赖A:pom.xml

      技术分享

 

  过滤依赖:排除依赖包中的依赖

    技术分享

    提示:由于project-b包中所依赖的project-c版本过高,所以,在project-a中设置直接依赖指定版本,并过滤project-b中的依赖包

      技术分享

  pom.xml参数声明:

    技术分享

    使用:

      技术分享

 

第六章:仓库

  分类:

    技术分享

  中央仓库的路径配置:Maven安装目录lib/maven-model-builder-3.0jar/org/apache/maven/model/pom-4.0.0.xml

    技术分享

    提示:<layout>:默认加载,<enabled>false</enabled>:不从该仓库下载snapshot版本

    

  私服:

    技术分享

    提示:Nexus构建私服软件,高效管理

 

  远程服务认证:一般情况,为了提高私服安全性,访问服务,需要提高用户密码,需要在本机setting.xml文件里设置

    技术分享

  项目上传至远程服务:mvn clean deploy

 

以上是关于Maven实战的主要内容,如果未能解决你的问题,请参考以下文章

Maven实战与原理分析:maven 自定义插件开发实战

Maven实战与原理分析:maven 自定义插件开发实战

Maven实战Eclipse构建Maven项目

Maven实战坐标详解

Maven实战与原理分析:maven实战

Maven实战 1