spring-boot中spring-boot-maven-plugin报红错误及解决

 更新时间:2023年03月01日 14:30:40   作者:wowolz  
这篇文章主要介绍了spring-boot中spring-boot-maven-plugin报红错误及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

spring-boot-maven-plugin报红错误

项目场景

第一次创建springboot的时候,spring-boot-maven-plugin 爆红

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                // 红彤彤
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

解决方案

1.在选择创建Spring Initailizr项目时,选择spring-boot版本

2.忘记选择版本号时(idea默认2.5.4),在如下图所示的地方加入version版本号,要与spring-boot版本号一致哦~

 

再刷新一下pom.xml就ok了~

Maven插件spring-boot-maven-plugin

应用背景

直接使用maven自带的package打包功能,在打Jar包的时候,不会将该项目所依赖的Jar包一起打进去,在使用“java -jar”命令启动项目时会报错,项目无法正常启动。

这个时候,我们就可以考虑引用spring-boot-maven-plugin插件来为项目打Jar包。

spring-boot-maven-plugin:使用此插件在打Jar包时会引入依赖包

maven项目的pom.xml中,添加了下述插件,当运行“maven package”进行打包时,会打包成一个可以直接运行的JAR文件,使用“java -jar”命令就可以直接运行。

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

一般的maven项目的打包命令,在打Jar包时不会把依赖的jar包也打包进去,但是spring-boot-maven-plugin插件,会将依赖的jar包全部打包进去。

例如下面这个使用spring-boot-maven-plugin插件打包生成的jar包的BOOT/INF/lib目录下面就包含了所有依赖的jar包:

如果没有使用spring-boot-maven-plugin插件打包的话,那么它的目录结构是:

对于使用上述spring-boot-maven-plugin插件打包生成的包,可直接使用下述命令启动项目

java -jar xxx.jar

特别说明

引入了spring-boot-maven-plugin插件后,在使用打包功能时会将mvn package 生成的 jar或者war 重新打包成可执行文件,同时修改原文件名,增加.origin 后缀。

如果项目需要打包为war包,则其实不需要引入该插件,maven原生自带的package插件就已经可以满足。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中捕获线程异常的几种方式总结

    Java中捕获线程异常的几种方式总结

    这篇文章主要介绍了Java中捕获线程异常的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • springcloud检索中间件 ElasticSearch 分布式场景的使用

    springcloud检索中间件 ElasticSearch 分布式场景的使用

    单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题,本文重点给大家介绍springcloud检索中间件 ElasticSearch 分布式场景的运用,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • 工厂方法模式_动力节点Java学院整理

    工厂方法模式_动力节点Java学院整理

    这篇文章主要介绍了工厂方法模式_动力节点Java学院整理的相关资料,需要的朋友可以参考下
    2017-08-08
  • JDBC数据库连接步骤解析

    JDBC数据库连接步骤解析

    这篇文章主要介绍了JDBC数据库连接步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 三种Java自定义DNS解析器方法与实践

    三种Java自定义DNS解析器方法与实践

    这篇文章主要分享三种Java自定义DNS解析器方法与实践,对于高性能的测试机(54C96G * 3)而言,可任意通过自定义Java DNS解析器来实现接口请求,下文内容的实现,需要的小伙伴可以参考一下
    2022-02-02
  • SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)

    SpringBoot项目如何把接口参数中的空白值替换为null值(推荐)

    这篇文章主要介绍了SpringBoot项目如何把接口参数中的空白值替换为null值(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Spring Kafka中@KafkaListener注解的参数与使用小结

    Spring Kafka中@KafkaListener注解的参数与使用小结

    @KafkaListener注解为开发者提供了一种声明式的方式来定义消息监听器,本文主要介绍了Spring Kafka中@KafkaListener注解的参数与使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • SpringBoot中yml多环境配置的3种方法

    SpringBoot中yml多环境配置的3种方法

    这篇文章主要给大家介绍了SpringBoot中yml多环境配置的3种方法,文中有详细的代码示例供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-10-10
  • Java连接数据库,及增删改查的示例

    Java连接数据库,及增删改查的示例

    这篇文章主要介绍了Java连接数据库,及增删改查的示例,帮助大家更好的利用Java处理数据,感兴趣的朋友可以了解下
    2020-10-10
  • Java阻塞队列BlockingQueue详解

    Java阻塞队列BlockingQueue详解

    这篇文章主要介绍了Java阻塞队列BlockingQueue,文章通过队列的类型展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07

最新评论