美文网首页
maven的应用(摘自菜鸟教程)

maven的应用(摘自菜鸟教程)

作者: 轻舞凋零 | 来源:发表于2022-07-02 16:57 被阅读0次

    一直使用maven,缺少系统化学习,找了本教程,系统的了解和学习下

    1 maven的基本概念

    maven安装

    # wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
    # tar -xvf  apache-maven-3.3.9-bin.tar.gz
    # sudo mv -f apache-maven-3.3.9 /usr/local/
    编辑 /etc/profile 文件 sudo vim /etc/profile,在文件末尾添加如下代码:
    
    export MAVEN_HOME=/usr/local/apache-maven-3.3.9
    export PATH=${PATH}:${MAVEN_HOME}/bin
    

    pom指定环境

    • modelVersion 模型版本
    • groupId 组织
    • artifactId 项目ID
    • version 版本号

    maven支持父POM继承

    • <parent></parent>
    • relativePath 默认值是../pom.xml 允许你选择路径

    pom的属性

    • packaging 打包方式jar,rar
    • prerequisites 前置条件
    • issueManagement 问题管理系统
    • ciManagement 持续集成系统的名字
    • build 构建项目需要的信息
    • pluginManagement插件管理

    profiles定义

    • profile 配置

    依赖管理

    • dependencyManagement
    • dependencies

    远程依赖仓库

     <!--发现依赖和扩展的远程仓库列表。 -->
                <repositories>
                    <!--参见repositories/repository元素 -->
                    <repository>
                        <releases>
                            <enabled />
                            <updatePolicy />
                            <checksumPolicy />
                        </releases>
                        <snapshots>
                            <enabled />
                            <updatePolicy />
                            <checksumPolicy />
                        </snapshots>
                        <id />
                        <name />
                        <url />
                        <layout />
                    </repository>
                </repositories>
                <!--发现插件的远程仓库列表,这些插件用于构建和报表 -->
                <pluginRepositories>
                    <!--包含需要连接到远程插件仓库的信息.参见repositories/repository元素 -->
                    <pluginRepository>
                        <releases>
                            <enabled />
                            <updatePolicy />
                            <checksumPolicy />
                        </releases>
                        <snapshots>
                            <enabled />
                            <updatePolicy />
                            <checksumPolicy />
                        </snapshots>
                        <id />
                        <name />
                        <url />
                        <layout />
                    </pluginRepository>
                </pluginRepositories>
    

    2 maven的生命周期

    maven的三个生命周期

    • clean:项目清理的处理
    • default(或 build):项目部署的处理
    • site:项目站点文档创建的处理

    常用的命令

    • 验证 validate
    • 编译 compile
    • 测试 Test
    • 包装 package
    • 检查 verify
    • 安装 install
    • 部署 deploy

    3 构建配置文件的类型

    三种文件

    • pom.xml的文件
    • 用户级 settings.xm文件
    • 全局 conf/settings.xml

    maven可以指定配置问题件xx.prod.properties
    指定环境:mvn test -Denv=test

    4 maven仓库

    仓库分3类

    • local 本地
    • central中央
    • remote远程

    本地的配置settings.xml

    <localRepository>C:/MyLocalRepository</localRepository>
    

    配置远程仓库

    <repositories>
          <repository>
             <id>companyname.lib1</id>
             <url>http://download.companyname.org/maven2/lib1</url>
          </repository>
          <repository>
             <id>companyname.lib2</id>
             <url>http://download.companyname.org/maven2/lib2</url>
          </repository>
       </repositories>
    

    maven的查找顺序

    • 本地仓库
    • 中央仓库 或者远程仓库
    • 远程仓库找不到报错

    5 插件

    maven的三个生命周期

    • clean:项目清理的处理
    • default(或 build):项目部署的处理
    • site:项目站点文档创建的处理

    每个生命周期都预留了接口取做处理,常见的操作都是插件,比如创建项目,运行单测

    6 构建java项目

    idea或者命令行创建即可

    7 构建&项目测试

    mvn clean compile

    8 引入外部依赖

    这个比较常用

    <dependencies>
        <!-- 在这里添加你的依赖 -->
        <dependency>
            <groupId>ldapjdk</groupId>  <!-- 库名称,也可以自定义 -->
            <artifactId>ldapjdk</artifactId>    <!--库名称,也可以自定义-->
            <version>1.0</version> <!--版本号-->
            <scope>system</scope> <!--作用域-->
            <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath> <!--项目根目录下的lib文件夹下-->
        </dependency> 
    </dependencies>
    

    9 项目模板

    mvn archetype:generate

    10 项目文档

    mvn site

    11 快照

    每次构建都会在远程仓库中检查新的快照,生成最新的jar包

    12 自动化构建

    持续集成服务器hudson

    13 依赖管理

    依赖的原则

    • 依赖调节:如果两个依赖版本在依赖树里的深度是一样的时候,第一个被声明的依赖将会被使用。
    • 依赖管理:直接的指定手动创建的某个版本被使用
    • 依赖范围:包含在构建过程每个阶段的依赖。
    • 依赖排除:任何可传递的依赖都可以通过 "exclusion" 元素被排除在外
    • 依赖可选:任何可传递的依赖可以被标记为可选的,通过使用 "optional" 元素

    依赖范围

    • 编译阶段
    • 供应阶段
    • 运行阶段
    • 测试阶段
    • 系统阶段
    • 导入阶段

    14 自动化部署

    15 web应用

    16 各类ide的使用

    eclipse

    netbeans

    intellij

    相关文章

      网友评论

          本文标题:maven的应用(摘自菜鸟教程)

          本文链接:https://www.haomeiwen.com/subject/kjrkbrtx.html