zoukankan      html  css  js  c++  java
  • Maven(Mac)

    一 Maven简介

    maven是一个项目管理工具 它包含了一个项目对象模型 一组标准集合 一个项目生命周期 一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑

    二 Maven两个经典作用

    1. 依赖管理 

    maven工程中不直接将jar包导入到工程中 而是通过在pom.xml文件中添加所需jar包的坐标 这样就很好的避免了jar包直接引入进来 在需要用到jar包的时候 只要查找pom.xml文件 再通过pom.xml文件中的坐标到maven仓库中找到这些jar包 再把这些jar包拿去运行

    2. 一键构建

    项目从编译 测试 运行 打包 安装 部署整个构建过程都交给maven进行管理 使用maven的一个命令可以轻松完成

    三 压缩包

    http://maven.apache.org/download.cgi

    四 安装Maven

    解压到一个没有中文没有空格的路径下

    配置maven环境变量 参考下面配置

      open .bash_profile

    export MAVEN_HOME=/Users/HUANGYI/Documents/JavaEE/Maven/apache-maven-3.5.3
    export PATH=${PATH}:${MAVEN_HOME}/bin

     查看是否安装成功 需要有jdk的环境

      mvn –v

    五 Maven仓库的分类

    1. 本地仓库

    用来存储从远程仓库或中央仓库下载的插件和jar包 项目使用一些插件或jar包 优先从本地仓库查找

    2. 远程仓库

    如果本地需要插件或者jar包 本地仓库没有 默认去远程仓库下载 远程仓库可以在互联网内也可以在局域网内

    3. 中央仓库

    在maven软件中内置一个远程仓库地址http://repo1.maven.org/maven2 它是中央仓库 服务于整个互联网 由maven团队自己维护 里面存储了非常全的jar包 它包含了世界上大部分流行的开源项目构件

    六 Maven本地仓库的配置

    在MAVE_HOME/conf/settings.xml文件中配置本地仓库位置

    七 IDEA的Maven配置

    八 Maven常用命令

    mvn compile

      工程的编译命令 将src/main/java下的文件编译为class文件输出到target目录下

    mvn test

      工程的测试命令 执行src/test/java下的单元测试类

    mvn clean

      工程的清理命令 删除target目录及内容

    mvn package

      工程的打包命令 对于java工程打成jar包 对于web工程打成war包

    mvn install

      工程的安装命令 将打成jar包或war包发布到本地仓库

    九 Maven三种生命周期

    1. 清理生命周期

    在进行真正的构建之前进行一些清理工作

      clean 清理编译的文件

    2. 默认生命周期

    构建的核心部分 编译 测试 打包 部署等等(执行后面的命令时 前面的都会执行一遍)

      compile 编译了main目录的文件

      test 编译并运行了test目录的文件

      package 打包

      install 把项目发布到本地仓库

      deploy 把项目发布到远程仓库

    3. 站点生命周期

    生成项目报告 站点 发布站点

      site 生成项目的站点文档

    十 Maven依赖范围

    A依赖B 需要在A的pom.xml文件中添加B的坐标 添加坐标时需要指定依赖范围

    compile

      编译范围 指A在编译时依赖B 此范围为默认依赖范围 编译范围的依赖会用在编译 测试 运行 由于运行时需要所以编译范围的依赖会被打包

    provided

      provided依赖只有在jdk或者一个容器已提供该依赖之后才使用 provided依赖在编译和测试时需要 在运行时不需要

    runtime

      runtime依赖在运行和测试系统的时候需要 但在编译的时候不需要 由于运行时需要所以runtime范围的依赖会被打包

    test

      test范围依赖 在编译和运行时都不需要 它们只有在测试编译和测试运行阶段可用 由于运行时不需要所以test范围依赖不会被打包

    system

      system范围依赖与provided类似 但是必须显式的提供一个对于本地系统中jar文件的路径 需要指定systemPath磁盘路径 system依赖不推荐使用

  • 相关阅读:
    [C/C++开发] Clion利用Docker开发和调试PHP扩展
    [C/C++开发] Clion利用Docker开发和调试PHP内核
    [C/C++开发] Clion利用Docker开发和调试Linux C/C++程序
    [Docker] 使用ubuntu涉及时区问题
    Oracle 导入 SQL 文件
    转载
    微信小程序
    微信小程序-点击复制功能
    服务器端基础概念
    VSCode 同步设置插件
  • 原文地址:https://www.cnblogs.com/huangyi-427/p/13201649.html
Copyright © 2011-2022 走看看