Maven打包失败--Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:no found...

这篇具有很好参考价值的文章主要介绍了Maven打包失败--Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:no found...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、问题还原,无论怎样操作,打包都是失败

Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackage (repackage) on project guigu-common: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackage failed: Unable to find main class -> [Help 1]
[ERROR]

 2、这个问题,相信不少搬砖民工都遇到过。网上有很多解决的方案,也许有的可以解决,有的不能解决。在这里我罗列几种大家的方案:

① 注释掉 父工程的 plugin

首先,我的maven版本是 3.8.5;
引入的 pring-boot-starter-parent版本号为2.3.4.RELEASE;
最初怀疑这俩地方需要调整。
最后跟着网上的教程,把父pom中的maven-plugin注释掉之后,就成功了。
此处我仍然保留调整上面俩版本的意见,我只是觉着这次恰巧解决了问题而已。
failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3,intellij-idea,maven,java

②  此项目不需要做打包,只需要提供公共镜像作为依赖,有两种方案:

添加spring-boot启动类

将pom.xml中的spring-boot-maven-plugin相关配置注释掉

pom.xml中spring-boot-maven-plugin相关配置修改为普通的maven--plugin配置即可

对于不需要添加启动类的服务模块,去掉该模块中pom.xml的maven打包插件spring-boot-maven-plugin

在此项目上,找个文件夹随意创建个main函数,基本就可以解决掉。

③ 清理IDEA缓存

File -> Invalidate Caches

④ 添加版本号

首先打开pom.xml文件进行查看
Ctrl+F搜索spring-boot-starter-parent
找到<artifactId>spring-boot-starter-parent</artifactId>这一行。
下面一行就是版本号。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

复制 <version>版本号</version>

然后修改
将上面查找到的版本号粘贴到报错的那一行下面即可。
效果:

<plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.1.1.RELEASE</version>
 </plugin>
 

⑤ pom中添加报错中提示的 repackage

<plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>

        <executions>
            <execution>
                <goals>
                    <goal>repackage</goal>
                </goals>
            </execution>
        </executions>
</plugin>

 以上6种方案基本可以解决你的问题了。但是不巧的是,我遇到的问题上面的方案都不能解决,在这里跟大家分享下我的踩坑经历,血淋淋的教训,折磨了我几个小时!!!

前提提醒:如果你当前的模块不需要打包jar出来发布,以上的②方案就可以帮你解决。

不巧的是,你用的也是maven父子工程结构,这就导致以上的方案近乎全部失效(反正我没有成功),那么你需要了解父子工程的一些设计,这里就不多说了。

废话不多说,直接上干货:

一、首先你需要在父pom上 进行clean,清理下所有的缓存

failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3,intellij-idea,maven,java

二、接着继续操作上图中的package ,就等待着一路  build。。。success就好了。

|

|

|

果真这样,恭喜你,成功解决问题。成功的同学可以略过了、、、、你也可以继续、、、

接着你会发现,那个失败的模块诡异般的又出现的错误,异常是这样的:Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found,大概的意思就是你的打包工具在尝试打包时不能找打模块的main函数。

大家不要被这个异常蒙蔽,虽然说没有找到main。但是我们的appliation中已经有main函数也有run方法,你只需要,操作一下这里:

failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3,intellij-idea,maven,java

没错,就是重新编译一下,让target下面生成class文件就好了。这时你只需要操作 pom 的package就可以打包了。切记:不要再次clean,因为一旦执行clean,class文件就会消失,打包还会出错。这是一次痛苦的踩坑,但是同样汗水的付出,换来了问题的解决,值得。文章来源地址https://www.toymoban.com/news/detail-768222.html

最后插播一条广告,喜欢研究技术,爱好技术的同学,可以加群!

failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3,intellij-idea,maven,java

到了这里,关于Maven打包失败--Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:no found...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包