首页 > 其他分享 >基于IDEA进行Maven工程构建

基于IDEA进行Maven工程构建

时间:2024-09-03 15:26:31浏览次数:6  
标签:INFO --- jar IDEA Maven 构建 maven mvn


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

1. 构建概念和构建过程

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

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

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

基于IDEA进行Maven工程构建_java

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>

命令触发练习:

mvn 命令 命令

#清理
mvn clean
#清理,并重新打包
mvn clean package
#执行测试代码
mvn test

3. 可视化方式项目构建

基于IDEA进行Maven工程构建_jar_02

注意:打包(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] ------------------------------------------------------------------------

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

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

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

主要两个构建生命周期:

  • 清理周期:主要是对项目编译生成文件进行清理
    包含命令:clean
  • 默认周期:定义了真正构件时所需要执行的所有步骤,它是生命周期中最核心的部分
包含命令:compile -  test - package - install - deploy
  • 插件、命令、周期三者关系(了解)
    周期→包含若干命令→包含若干插件
    使用周期命令构建,简化构建过程!
    最终进行构建的是插件!


标签:INFO,---,jar,IDEA,Maven,构建,maven,mvn
From: https://blog.51cto.com/xiaobear/11908608

相关文章

  • 从零开始:用Flask和UIAutomation构建RPA微信自动群发工具
    文章目录前言一、环境搭建系统要求flask安装uiautomation安装二、群发功能的实现要导入的包1.构建WxOperation类2.搜寻被发送人3.发送文本4.发送文件5.接收消息三、构建后端服务要导入的包文件框架1.index.html文件2.app.py四、成果展示总结前言在这个数字化......
  • sonarqube 项目内maven插件使用
    一般建议保持项目jdk和sonarqube的jdk版本呢一致,sonarqube支持的版本最低的也是jdk11,如果要使用sonarqube,建议项目尽量上jdk17。sonarmaven插件依赖<!--属性配置--><properties><!--sonarqube配置--><sonar.projectKey>TestExample</sonar.p......
  • IntelliJ IDEA配置JDK
    一、新建项目前配置JDK1.File-->ProjectStructure 2.SDKs-->点击+号,在弹出框选择JDK的安装路径。 二、新建项目配置JDK1.File-->New-->Project 2.填写Name,Location,选择Language对应的JDK即可。  三、项目切换JDK在SDK下拉框选择对应的JDK。 ......
  • php邮箱服务器怎么搭建?如何构建服务器?
    php邮箱服务器配置教程指南?php邮件服务器如何搭建?搭建一个稳定高效的php邮箱服务器,不仅可以提升邮件传输的效率,还能增强数据的安全性。那么,如何着手搭建这样一个服务器呢?AokSend将详细探讨php邮箱服务器的搭建步骤。php邮箱服务器:配置环境配置php邮箱服务器环境是搭建过程......
  • idea 设置代码样式
    设置类注释模板类注释:File-->Settings-->Editor-->FileandCodeTemplates将如下代码拷贝到上图右侧空白区域即可(这个更为详细,具体用哪个自己决定)/****@description*@author${USER}*@date${DATE}*@version1.0*@[email protected]......
  • 关于maven
    1、依赖范围① complie默认范围,编译和运行时失效,打包的时候也会打包。② provided编译和测试有效、运行时无效,打包不打包。③runtime编译不生效、运行生效。④ test 编译和运行测试有效。实际运行不生效。2、依赖冲突调解① 第一原则:最短路径原则② 第二原......
  • PyTorch构建模型训练模块
    前面几篇分别是数据导入模块,模型类的构建模块,损失函数模块,优化器模块,上述模块搭建好后建立训练模块,将上述几个模块在训练模块中调用完成训练。这个不太好解释直接看模块示例: 上面是训练模块,分别传入训练总轮次steps,实例化模型model,损失函数loss_func,但是下面训练的时候它将损......
  • Unity 脚本编译和构建(Build)说明(官方文档翻译校正)
    目录脚本重要概念事件函数的执行顺序脚本生命周期概述流程图的范围脚本生命周期流程图一般原则第一次场景加载(FirstSceneload)场景加载和卸载之前(Beforesceneloadandunload)Editor第一帧更新之前(Beforethefirstframeupdate)帧之间(Inbetweenframes)更新顺序(Upda......
  • 有手就会之使用Dify构建RAG聊天应用(基于私有知识库和搜索引擎)
    之前我的文章里写的是通过langchain来构建RAG应用,对于很多人来说。langchain作为一个框架上手难度大,代码不够直观。但是通过dify你将学会可视化搭建工作流。什么是dify?Dify是一款开源的大语言模型(LLM)应用开发平台。它融合了后端即服务(BackendasService)和LLMOps的......
  • Python Web应用程序构建的最佳实践(代码实例与深度解析)
    在当今数字时代,构建高效、可扩展的Web应用程序是开发者们的一项重要任务。Python,作为一种简洁、强大的编程语言,为Web开发提供了丰富的工具和框架。在本篇文章中,我们将探讨使用Python构建Web应用程序的最佳实践,通过代码实例和深度解析来帮助你更好地理解和运用这些技术。1.选择合适......