Skip to content
字数
982 字
阅读时间
5 分钟

Apache Maven project——软件管理工具

Maven 理解

Maven 作用

  1. Maven 可以管理 jar 文件
  2. 自动下载 jar 和它的的文档、源代码
  3. 管理 jar 直接的依赖
  4. 管理需要的 jar 版本
  5. 编译程序,把 java 编译为 class
  6. 测试代码是否正确
  7. 打包文件成 jar 文件或者 war 文件
  8. 部署项目

Maven 构建

项目的构建,面向过程

  1. 清理 (清理之前编译完成的文件)
  2. 编译 (可批量编译)
  3. 测试 (执行测试程序代码,验证程序的功能是否正确)
  4. 报告 (生成测试结构的文件,测试是否通过)
  5. 打包 (把 class 文件和配置文件等所有资源打包到一个压缩文件中
    • 对于 java 程序,压缩文件是 .jar 扩展名
    • 对于 web 应用,压缩文件扩展名是 .war
  6. 安装 (把 5 中的文件 jar、war 安装到本机仓库)
  7. 部署 (把程序安装好可以执行)

Maven 核心概念

Maven 核心概念

  1. POM(project object model)

pom.xml 文件,即项目对象模型,可以控制 maven 构建项目的过程,管理 jar 依赖

  1. 约定的目录结构

maven 中的目录和文件的位置都是规定的

  1. 坐标(gav)



三者相加构成唯一的字符串,表示资源

  1. 依赖管理

管理项目使用 jar 文件

  1. 仓库管理

资源存放的位置

  1. 生命周期

maven 工具构建项目的过程

清理、编译、报告、打包、安装、部署

  1. 插件和目标

执行 maven 偶见的时候用的工具是插件

  1. 继承

  2. 聚合

每一个 maven 项目在磁盘中都是一个文件夹(项目 -Hello)

java
Hello/ 
  ---/src
  ------/main           #放你主程序java代码和配置文件
  ----------/java       #你的程序包和包中的java文件
  ----------/resources  #你的java程序中要使用的配置文件

  ------/test  #放测试程序代码和文件的(可以没有)
  ----------/java       #测试程序包和包中的java文件
  ----------/resources  #测试java程序中要使用的配置文件

  ---/pom.xml  #maven的核心文件(maven项目必须有)

tree Hello cmd 命令

mvn compile 编译 src/main 目录下的所有 java 文件的

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter-2.0.9.pom

https://repo.maven.apache.org ————中央仓库的地址

C:\Users\86159.m2\repository————本机仓库

Maven 常用命令

Maven 插件:maven 命令真正执行的是插件

test 单元测试

  • junit,是一个专门测试的框架(工具)
  • 方法是测试的基本单位
  • maven 借助单元测试来批量测试

Maver 常用命令

  1. mvn clean
  2. mvn compile
  3. mvn test-compile
  4. mvn test
  5. mvn package
  6. mvn install
  7. mvn deploy

IDEA 配置

配置的入口 ①:配置当前工程的设置, file--settings ---Build, Execution,Deployment--Build Tools
--Maven
Maven Home directory: maven 的安装目录
User Settings File : 就是 maven 安装目录 conf/setting.xml 配置文件
Local Repository : 本机仓库的目录位置

​ --Build Tools--Maven--Runner
​ VM Options : archetypeCatalog=internal
​ JRE: 你项目的 jdk

​ archetypeCatalog=internal , maven 项目创建时,会联网下载模版文件,
​ 比较大, 使用 -DarchetypeCatalog=internal,不用下载, 创建 maven 项目速度快。

​ ②:配置以后新建工程的设置, file--other settings--Settings for New Project

更新版本号

-DgenerateBackupPoms=false  不生成备份文件
mvn versions:set -DnewVersion=1.0.2-SNAPSHOT
mvn -N versions:update-child-modules
#版本回滚,提交后就无法回滚了
mvn versions:revert
#版本提交
mvn versions:commit

关于在 maven 项目中配置文件资源导出问题

xml
<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写