maven-compiler-plugin和spring-boot-maven-plugin的区别

news2024/11/26 20:18:08

两者都能打包!!!!!!!
格式不同!!!用处不同!!!
以实验为准,下面开始实验:
maven-compiler-plugin

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

我们来看一下打出的包的结构:

在这里插入图片描述
在这里插入图片描述
我们可以发现class文件都放在classes文件夹下,依赖的jar包全部都不在这个文件夹下。
我们再来看一下spring-boot-maven-plugin的效果

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.7</version>
            </plugin>
        </plugins>
</build>

我们来看一下打出的包的结构:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以发现class文件都放在classes文件夹下,依赖的jar包全部放在lib下面。
结论
结论1.从是否包含依赖jar包我们可以推断出通过spring-boot-maven-plugin编译打包的产物我们可以直接通过java -jar xxx.jar来直接运行;而通过maven-compiler-plugin编译打包的产物则不可以;
结论2.先给出结论:maven-compiler-plugin编译打包的产物可以被其他项目依赖,而spring-boot-maven-plugin编译打包的产物则不可以。
结论2的实验
我们在另一个项目里面引入上面项目的坐标
在这里插入图片描述
下面开始以spring-boot-maven-plugin的产物进行编译打包,执行命令:mvn clean backage
在这里插入图片描述
编译失败!!!
我们再以maven-compiler-plugin的产物进行编译打包,同样执行命令:mvn clean backage
在这里插入图片描述
编译成功!!!

总结:
这一次实验之前,我只知道maven-compiler-plugin的目的是用来编译的,spring-boot-maven-plugin的目的是用来打包的。但是不知道其中的原因。

那通过上面两个场景下的产物解压出的文件结构我们就可以发现其中的原理
maven-compiler-plugin的产物就是以文件结构存放在一级目录下;
spring-boot-maven-plugin的产物不是,它是以一种约定好的方式存放,用于后期直接运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM的汽车租赁系统业务管理子系统设计实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

[每周一更]-(第71期):DevOps 是什么?

Wiki的解释&#xff1a; DevOps&#xff08;Development和Operations的混成词&#xff09;是一种重视“软件开发人员&#xff08;Dev&#xff09;”和“IT运维技术人员&#xff08;Ops&#xff09;”之间沟通合作的文化、运动或惯例。 通过自动化“软件交付”和“架构变更”的…

Redis客户端-引入jedis

ssh端口转发 Redis服务器在官网公开了使用的协议(RESP),此时任何一个第三方都可以通过上述协议,来实现出一个和redis服务器通信的客户端程序. 现在,已经有很多库可以让我们直接调用,就不必关注redis协议的细节了. 在java的生态中,封装了RESP协议,实现的redis客户端有很多,我…

亚数受邀参加第六届进博会配套论坛,获评“2023年度上海重点产业提升国际竞争力示范案例”!

11月8日&#xff0c;由上海市商务委指导&#xff0c;上海社科院和临港集团主办&#xff0c;上海社科院应用经济研究所、徐汇虹梅街道和上海市漕河泾新兴技术开发区开发总公司联合承办&#xff0c;长三角产业国际竞争力联盟协办的第六届中国国际进口博览会提升上海产业国际竞争力…

整车级虚拟标定:降本增效

随着社会发展和用户对汽车产品要求的提高&#xff0c;在排放油耗法规逐步加严与新能源汽车凶猛来势的双重夹击下&#xff0c;动力系统配置、车辆配置以及目标市场的多样化正在为汽车产品开发工作带来巨大挑战&#xff0c;也给整车厂研发带来巨大压力。自2005年实施的CAFC&#…

白嫖阿里云服务器教程来了,薅秃阿里云!

白嫖阿里云服务器攻略来了&#xff0c;在阿里云免费试用中心可以申请免费服务器&#xff0c;但是阿里云百科不建议选择免费的&#xff0c;只有3个月使用时长&#xff0c;选择99元服务器不是更香&#xff0c;2核2G配置3M固定带宽&#xff0c;一年99元&#xff0c;重点是新老用户…

操作系统第一次实验——短作业优先调度算法(SJF)

一、实验目的&#xff1a; 目的&#xff1a;了解并掌握作业调度的功能&#xff0c;熟悉并掌握各种作业调度算法。 任务&#xff1a;模拟实现先来先服务或者短作业优先调度算法。 二、实验内容&#xff1a; 1、实验内容 模拟实现SJF调度。 设置作业体&#xff1a;作业名&#x…

解决:Git报错same change IDs

当使用git review的时候&#xff0c;review失败&#xff0c;报错multi commit …same change ids。。 错误&#xff1a; same Change-Id in multiple changes 意思是说&#xff0c;有多个commit记录的change ids是相同的&#xff0c;这change id概念出现在gerrit&#xff0…

将VS工程转为pro工程及VS安装Qt插件后没有create basic .pro file菜单问题解决

目录 1. 前言 2. VS工程转为pro工程 3. 没有create basic .pro file菜单 1. 前言 很多小伙伴包括本人&#xff0c;如果是在Windows下开发Qt程序&#xff0c;偏好用Visual Studio外加装个Qt插件进行Qt开发&#xff0c;毕竟Visual Studio确实是功能强大的IDE&#xff0c;但有时…

国际阿里云:Windows系统ECS实例中CPU使用率较高问题的排查及解决方案!!

问题现象 Windows系统ECS实例中CPU使用率较高&#xff0c;即CPU使用率≥80%。 问题原因 CPU使用率较高可能有以下原因。 ECS实例遭到病毒木马入侵。 ECS实例中第三方杀毒软件运行。 ECS实例中应用程序异常、驱动异常、高I/O使用率或高中断处理的应用程序。 解决方案 步骤…

OAuth2.0和1.0的区别

OAuth2.0的最大改变就是不需要临时token了&#xff0c;直接authorize生成授权code&#xff0c;用code就可以换取accesstoken了&#xff0c;同时accesstoken加入过期&#xff0c;刷新机制&#xff0c;为了安全&#xff0c;要求第三方的授权接口必须是https的。OAuth2.0不能向下兼…

基础课27——人工智能训练师人才画像

1.什么是人工智能训练师 根据《人工智能训练师》国家职业技能标准&#xff08;2021年版&#xff09;&#xff0c;人工智能训练师是指“使用智能训练软件&#xff0c;在人工智能产品使用过程中进行数据库管理、算法参数设置、人机交互设计、性能测试跟踪及其他辅助作业的人员”…

社区治理进化史!拓世法宝化身“虚拟社工”,点亮智能社区的每一个角落

时光流转、技术猛进&#xff0c;社区不再只是在制度层面作为城市治理的最小单元&#xff0c;更是在民生层面成为政府联系、服务群众的“神经末梢”。城市的脚步越来越匆忙&#xff0c;人们对于社区的服务期待也愈发高涨。面对日益复杂的社区治理和服务需求&#xff0c;我们迫切…

建设大型综合运维平台,对接集成多厂商网管系统

当前&#xff0c;云计算、大数据、人工智能等IT技术迅猛发展&#xff0c;企业的信息化步入了一个崭新的时代&#xff0c;企业规模不断壮大&#xff0c;业务不断拓展&#xff0c;企业信息化依赖的网络结构和IT技术越来越复杂。因建设时期等原因&#xff0c;企业网络中分布着不同…

Springboot SpringCloudAlibaba Nacos 项目搭建

依赖版本&#xff1a; spring-boot&#xff1a;2.3.12.RELEASE spring-cloud-alibaba&#xff1a;2.2.7.RELEASE spring-cloud&#xff1a;Hoxton.SR12 nacos&#xff1a;2.0.3 1.部署搭建Nacos注册中心 Linux Nacos 快速启动_nacos linux快速启动-CSDN博客 2.构建项目 源码地…

美国突传两件大事!大饼单日涨跌2500美元,以太走出“独立行情”!

​ 受「比特币ETF正式进入批准窗口期」利好消息刺激&#xff0c;比特币持续攀升&#xff0c;并最终于9日晚间23点突破38000美元关口&#xff0c;创下自2022年5月22日以来最高水平。 据了解&#xff0c;彭博ETF分析师James Seyffart发文称&#xff0c;比特币ETF正式进入批准窗…

mysql的sql_mode参数

msql修改了这个参数&#xff0c;首先mysql需要重新才能生效&#xff0c;还有就是java连接的springboot项目也需要重新启动。之前是遇到了下面的这个报错。只需要把sql_mode设置为空&#xff0c;重启mysql和服务就行 报错 In aggregated query without GROUP BY, expression #1…

网络安全(黑客)自学笔记1.0

前言 今天给大家分享一下&#xff0c;很多人上来就说想学习黑客&#xff0c;但是连方向都没搞清楚就开始学习&#xff0c;最终也只是会无疾而终&#xff01;黑客是一个大的概念&#xff0c;里面包含了许多方向&#xff0c;不同的方向需要学习的内容也不一样。 算上从学校开始学…

NSS [HUBUCTF 2022 新生赛]checkin

NSS [HUBUCTF 2022 新生赛]checkin 判断条件是if ($data_unserialize[username]$username&&$data_unserialize[password]$password)&#xff0c;满足则给我们flag。正常思路来说&#xff0c;我们要使序列化传入的username和password等于代码中的两个同名变量&#xff0…

高斯分布-最大似然估计公式白板推导

由上述推导得出结论&#xff1a; μ M L E 1 N ∑ i 1 N x i \mu_{MLE}\frac{1}{N}\sum\limits _{i1}^{N}x_{i} μMLE​N1​i1∑N​xi​ σ ^ 2 1 N − 1 ∑ i 1 N ( x i − μ ) 2 \hat{\sigma}^{2}\frac{1}{N-1}\sum\limits _{i1}^{N}(x_{i}-\mu)^{2} σ^2N−11​i1∑N…