Maven-构建

Maven-构建

项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程

清理 -> 编译 -> 测试 -> 报告 -> 打包 -> 部署

Maven项目将构建的过程全部暴露出来,让程序员可以主动触发

  • 重新编译:当编译不充分,或者部分文件没有被编译时
  • 打包:独立部署到外部服务器软件,打包部署
  • 部署本地或私服仓库:当我们的Maven项目要被别的项目作为依赖时,把我们的项目部署到仓库中供别人拉区

命令方式

命令描述
mvn clean清理编译或打包后的项目结构,删除target文件夹(类似out文件夹)
mvn compile编译项目,生成target文件夹
mvn test执行测试源码
mvn site生成项目的所有依赖信息
mvn package打包项目,生成war/jar文件
mvn install打包后上传到maven本地仓库
mvn depoly打包后上传到maven私服仓库

注:install和deploy命令执行的时候,项目的打包方式必须是jar


图形界面方式

idea提供了maven gui,可通过图形界面的方式对项目执行生命周期中的操作


构建命令周期

构建的生命周期有三个

清理周期

主要是对项目编译生成文件进行清理

执行命令:clean

默认周期

定义了真正构建时所需要执行的所有步骤,他是生命周期中最核心的部分

执行命令:complie -> test -> package -> install/deploy

当执行命令时,会自动将前置命令执行

报告周期

执行命令:site

最佳使用方案:
  • 打包:mvn clean package
  • 重新编译:mvn clean compile
  • 本地部署:mvn clean install

插件

总的来说,命令对应多个插件,周期执行多个命令

真正执行构建的工具,是插件

当插件版本过低,或者需要新增插件时,在pom.xml中使用build标签添加插件,同样也是使用gav

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.4.0</version>
        </plugin>
    </plugins>
</build>