springboot导包显示不存在_springboot项目打包时提示“程序包xxx不存在,找不到符号”...

springboot多包工程,在使用maven进行打包的时候,一直提示“程序包xxx不存在,找不到符号”,但项目是可以正常启动运行的,开始一直以为是maven哪里没有配置好导致的,后来才发现原来是springboot的maven插件导致的。

springboot项目打包时提示“程序包xxx不存在,找不到符号”

项目结构:

xxx-parent:顶级父工程

xxx-a:子项目1

xxx-b:子项目2

xxx-c:子项目3

依赖关系:

a -> b -> c,从左到右,依次被依赖(c依赖b,b依赖a)

问题场景:

在使用mvn package的时候,一直提示“程序包xxx不存在,找不到符号”,开始以为是依赖的上层包没打好,仔细检查后发现都没问题,就算将本地仓库中的依赖包清理之后,重新install打包也还是有这个问题

原因分析:

因为之前的springmvc出现过类似的问题(Maven打包失败,提示“找不到符号”),所以一开始也以为是本地仓库的缓存所致,浪费了好长时间,后来才发现原来是springboot自身的编译插件spring-boot-maven-plugin导致的。

org.springframework.boot

spring-boot-maven-plugin

如上,就是springboot的maven插件,用这个插件打包的Jar包可以直接运行,但是不可依赖!

解决方案(三选一):

1、不要将此插件放到顶级父工程中,在需要打成可执行jar的地方添加就好了,如果是需要被依赖的,就不要添加此插件(如上述案例中,就是xxx-a、xxx-b不加,xxx-c需要加);

2、在需要对外提供依赖的项目的pom里设置(如本项目的xxx-a、xxx-b),这样设置会让项目生成两个jar:一个可执行jar,一个可依赖的jar;

org.springframework.boot

spring-boot-maven-plugin

exec

3、在configuration中加入skip标签,取消生成可执行jar;

org.springframework.boot

spring-boot-maven-plugin

true

最后给大家赠送一本书籍《深入浅出Spring Boot》需要的朋友可以来私信我领取

springboot项目打包时提示“程序包xxx不存在,找不到符号”

springboot项目打包时提示“程序包xxx不存在,找不到符号”

springboot项目打包时提示“程序包xxx不存在,找不到符号”

篇幅有限就不过多的介绍了需要私信我就ok了

书籍免费获取方式:关注然后简信“资料”即可获得文档领取方式

同时希望大家领到之后不要做收藏党!而是能够花一些时间认真看完文档,让它真正发挥出价值来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值