• 基于IDEA进行Maven工程构建


    Java全能学习+面试指南:https://javaxiaobear.cn

    1. 构建概念和构建过程

    项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。

    项目构建是软件开发过程中至关重要的一部分,它能够大大提高软件开发效率,使得开发人员能够更加专注于应用程序的开发和维护,而不必关心应用程序的构建细节。

    同时,项目构建还能够将多个开发人员的代码汇合到一起,并能够自动化项目的构建和部署,大大降低了项目的出错风险和提高开发效率。常见的构建工具包括 Maven、Gradle、Ant 等。

    2. 命令方式项目构建

    命令描述
    mvn compile编译项目,生成target文件
    mvn package打包项目,生成jar或war文件
    mvn clean清理编译或打包后的项目结构
    mvn install打包后上传到maven本地仓库
    mvn deploy只打包,上传到maven私服仓库
    mvn site生成站点
    mvn test执行测试源码

    war包打包插件和jdk版本不匹配:pom.xml 添加以下代码即可

    <build>
        
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-war-pluginartifactId>
                <version>3.2.2version>
            plugin>
        plugins>
    build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    命令触发练习:

    mvn 命令 命令
    
    #清理
    mvn clean
    #清理,并重新打包
    mvn clean package
    #执行测试代码
    mvn test
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3. 可视化方式项目构建

    image-20231021153444864

    注意:打包(package)和安装(install)的区别是什么

    打包是将工程打成jar或war文件,保存在target目录下

    安装是将当前工程所生成的jar或war文件,安装到本地仓库,会按照坐标保存到指定位置

    4. 构建插件、命令、生命周期命令之间关系

    • 构建生命周期

      我们发现一个情况!当我们执行package命令也会自动执行compile命令!

      [INFO] --------------------------------[ jar ]---------------------------------
      [INFO] 
      [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mybatis-base-curd ---
      [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ mybatis-base-curd ---
      [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mybatis-base-curd ---
      [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ mybatis-base-curd ---
      [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mybatis-base-curd ---
      [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ mybatis-base-curd ---
      [INFO] Building jar: D:\javaprojects\backend-engineering\part03-mybatis\mybatis-base-curd\target\mybatis-base-curd-1.0-SNAPSHOT.jar
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time:  5.013 s
      [INFO] Finished at: 2023-06-05T10:03:47+08:00
      [INFO] ------------------------------------------------------------------------
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15

      这种行为就是因为构建生命周期产生的!构建生命周期可以理解成是一组固定构建命令的有序集合,触发周期后的命令,会自动触发周期前的命令!!!

      构建周期作用:会简化构建过程

      例如:项目打包 mvn clean package即可。

      主要两个构建生命周期:

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

        包含命令:clean

    • 默认周期:定义了真正构件时所需要执行的所有步骤,它是生命周期中最核心的部分

      包含命令:compile -  test - package - install - deploy
      
      • 1
    • 插件、命令、周期三者关系(了解)

      周期→包含若干命令→包含若干插件

      使用周期命令构建,简化构建过程!

      最终进行构建的是插件!

  • 相关阅读:
    怎么彻底粉碎文件夹?文件还能恢复吗?操作过程在这里
    shiro学习33-shiro的工具类-webUtils
    vue03
    114、数据库,核心价值是持久层和数据准确性,复杂的事情不要干
    11.9 leetcode打卡
    YOLO目标检测——交通标志数据集+已标注voc和yolo格式标签下载分享
    node 第十三天 express初见
    为什么接口中字段要static和final修饰?
    最优装载-贪心算法
    714. 买卖股票的最佳时机含手续费
  • 原文地址:https://blog.csdn.net/Y_hanxiong/article/details/134460571