• maven


    1 什么是maven

    maven是一个标准化的Java项目管理和构建工具。可以用来管理jar包和构建项目;

    2 maven标准结构

    a-maven-project
    ├── pom.xml
    ├── src
    │   ├── main
    │   │   ├── java
    │   │   └── resources
    │   └── test
    │       ├── java
    │       └── resources
    └── target
    

    3 依赖管理

    3-1 依赖关系

    Maven定义了几种依赖关系,分别是compile、test、runtime和provided:

    scope 说明 示例
    compile 编译时需要用到该jar包(默认) commons-logging
    test 编译Test时需要用到该jar包 junit
    runtime 编译时不需要,但运行时需要用到 mysql
    provided 编译时需要用到,但运行时由JDK或某个服务器提供 servlet-api

    3-2 将maven镜像修改为国内阿里云

    在maven的conf目录中找到settings.xml,找到mirrors的标签,然后添加内容如下:

    <mirrors>
            <mirror>
                <id>aliyun</id>
                <name>aliyun</name>
                <mirrorOf>central</mirrorOf>
                <!-- 国内推荐阿里云的Maven镜像 -->
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            </mirror>
        </mirrors>
    

    3-3 搜索第三方组件

    那么,比如我们想导入一个jar包,那么怎么知道maven地址呢?
    方法是通过search.maven.org搜索关键字,找到对应的组件后,直接复制

    4 构建流程

    Maven不但有标准化的项目结构,而且还有一套标准化的构建流程,可以自动化实现编译,打包,发布,等等。

    4-1 maven生命周期

    在实际开发过程中,经常使用的命令有:

    mvn clean:清理所有生成的class和jar;

    mvn clean compile:先清理,再执行到compile;

    mvn clean test:先清理,再执行到test,因为执行test前必须执行compile,所以这里不必指定compile;

    mvn clean package:先清理,再执行到package。

    5 几个不同的仓库

    中央仓库
    其实我们使用的大多数第三方模块都是这个用法,例如,我们使用commons logging、log4j这些第三方模块,就是第三方模块的开发者自己把编译好的jar包发布到Maven的中央仓库中。

    私有仓库
    私有仓库是指公司内部如果不希望把源码和jar包放到公网上,那么可以搭建私有仓库。私有仓库总是在公司内部使用,它只需要在本地的~/.m2/settings.xml中配置好,使用方式和中央仓位没有任何区别。

    本地仓库
    本地仓库是指把本地开发的项目“发布”在本地,这样其他项目可以通过本地仓库引用它。但是我们不推荐把自己的模块安装到Maven的本地仓库,因为每次修改某个模块的源码,都需要重新安装,非常容易出现版本不一致的情况。更好的方法是使用模块化编译,在编译的时候,告诉Maven几个模块之间存在依赖关系,需要一块编译,Maven就会自动按依赖顺序编译这些模块。

  • 相关阅读:
    JDBC 复习4 批量执行SQL
    JDBC 复习3 存取Oracle大数据 clob blob
    Oracle复习
    Linux命令(1)grep
    JDBC 复习2 存取mysql 大数据
    JDBC 复习1 DBUtil
    php 环境搭建问题
    Windows 批处理 bat 开启 WiFi 菜单选项 设置ID PWD
    Bat 批处理启动和停止Oracle 服务
    docker 学习1 WSL docker ,Windows docker
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/13111629.html
Copyright © 2020-2023  润新知