目录
??4.1 构建概念和构建过程
??4.2 命令方式项目构建
1. ??编译:mvn compile
2. ??清理:mvn clean
3. ??打包:mvn package
4. ??安装:mvn install
??4.3 可视化方式项目构建
??4.4 构建插件、命令、生命周期命令之间关系
1. ??构建生命周期
2.??构建周期作用:会简化构建过程
3. ??插件、命令、周期三者关系(了解)
??4.1 构建概念和构建过程
项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。
项目构建是软件开发过程中至关重要的一部分,它能够大大提高软件开发效率,使得开发人员能够更加专注于应用程序的开发和维护,而不必关心应用程序的构建细节。
同时,项目构建还能够将多个开发人员的代码汇合到一起,并能够自动化项目的构建和部署,大大降低了项目的出错风险和提高开发效率。常见的构建工具包括 Maven、Gradle、Ant 等。
??4.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> <!-- jdk17 和 war包版本插件不匹配 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> </plugins> </build>
命令触发练习
在module文件夹下右击选中open in path
此时进入这个module的文件夹路径中
在上面的窗口中输入cmd,此时进入cmd窗口中会直接在相应的目录下
1. ??编译:mvn compile
#编译 mvn compile
编译结果:
此外,编译结束之后会在idea的项目结构中生成一个target文件夹。编译结果就存放在这个target目录下
2. ??清理:mvn clean
#清理 mvn clean
执行结果:
每一次编译结果存放的target文件夹消失了
3. ??打包:mvn package
#打包 mvn package
编译结果:
4. ??安装:mvn install
#安装到本地仓库 mvn install
编译结果:
??4.3 可视化方式项目构建
注意:打包(package)和安装(install)的区别是什么
打包是将工程打成jar或war文件,保存在target目录下
安装是将当前工程所生成的jar或war文件,安装到本地仓库,会按照坐标保存到指定位置
??4.4 构建插件、命令、生命周期命令之间关系
1. ??构建生命周期
-
我们发现一个情况!当我们执行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:javaprojectsackend-engineeringpart03-mybatismybatis-base-curd argetmybatis-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] ------------------------------------------------------------------------
-
这种行为就是因为构建生命周期产生的!构建生命周期可以理解成是一组固定构建命令的有序集合,触发周期后的命令,会自动触发周期前的命令!!!
2.??构建周期作用:会简化构建过程
-
例如:项目打包 mvn clean package即可。
-
主要两个构建生命周期:
-
清理周期:主要是对项目编译生成文件进行清理
-
包含命令:clean
-
-
默认周期:定义了真正构件时所需要执行的所有步骤,它是生命周期中最核心的部分
包含命令:compile - test - package - install - deploy
-
包含命令:compile - test - package - install - deploy
3. ??插件、命令、周期三者关系(了解)
-
周期→包含若干命令→包含若干插件
-
使用周期命令构建,简化构建过程!
-
最终进行构建的是插件!