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导致的。

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

解决方案:

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

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

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

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

  1. SpringBoot项目启动时提示程序包不存在和找不到符号

    问题: 解决方案一: 缺点:每次启动项目都会install 解决方案二: mvn -U idea:idea 原因:自己的idea项目配置出了问题,方案一是采用maven进行启动,方案二是更新idea不 ...

  2. 【SpringBoot】解决Build失败,提示 程序包xxx不存在 找不到符号

    一.程序包xxx不存在 找不到符号 我在引入依赖之后,写了个工具类,然后运行发现build失败了. 提示 程序包xxx不存在 找不到符号 二.解决方案 mvn idea:idea [INFO] Sca ...

  3. 自己手动导入的sdk包,提示程序包不存在,找不到符号(备忘)

    自己手动导入的sdk包,提示程序包不存在,找不到符号(备忘) 自己手动导入的sdk包,但是打包的时候却提示程序包不存在 自己手动导入的sdk包,确实已经导入进入了,写代码的时候import也没有红色的 ...

  4. IDEA提示:程序包XXX不存在,找不到符号,但是明明存在对应的jar包

    请复制:mvn idea:idea 操作如下:

  5. 启动SpringBoot项目时,报程序包不存在或者找不到符号的错误

    启动SpringBoot项目时,报程序包不存在或者找不到符号的错误 我们使用idea新建SpringBoot项目时有时候会遇到这样的错误: 当启动主启动类时控制台报错,如下所示: Error:(3, ...

  6. Maven多模块项目编译失败:程序包xxx不存在

    Maven多模块项目编译失败:程序包xxx不存在 项目结构如下: parent(父类工程) | - - - - - common(通用工具类子工程) | - - - - - projectA(spri ...

  7. Maven打包时出现程序包不存在和test相关报错

    Maven打包时出现程序包不存在和test相关报错 1.程序包不存在的问题 例如打包失败后报错情况如下: 程序可编译执行,但是打包存在问题.通过查看maven列表可以看到相关依赖包也导入成功,可能是m ...

  8. IDEA提示“程序包xxx不存在“

    IDEA项目代码不报错,jar包都正常,build/启动项目却提示"程序包xxx不存在" 清除IDEA所有配置,重新导入项目后正常

  9. springboot项目启动时提示错误: 找不到或无法加载主类

    问题: springboot项目启动时提示错误: 找不到或无法加载主类 解决方法:

最新文章

  1. Intel和IBM押重注的神经模态计算,会给行业带来什么样的变化
  2. 最短路径问题----Dijkstra算法的解释
  3. php web开发应用教程,PHP-Web 应用程序开发:使用模板_PHP
  4. 微服务架构之「 下一代微服务 Service Mesh 」
  5. 可关闭的浮动div示例
  6. matlab漂亮图表,漂亮,美观的图表之Matlab强势回归~~~~走你8
  7. tf.truncated_normal_initializer 从截断的正态分布中输出随机值。
  8. Windows环境下安装JDK、JRE和环境变量配置,详细的图文教程
  9. Java dicom查看_验证DICOM文件
  10. 如何使用CSS绘制奥运五环标志
  11. 烙铁使用注意事项及元器件件焊接要点
  12. 吐血推荐珍藏的Visual Studio Code插件
  13. c#通过键盘输入若干个整数,长度不得多于20个,最后将其中最大的数输出,采用控制台的形式实现。
  14. Qt中的C++技术 张波
  15. Android Bitmap实战技巧
  16. matlab绘制sintsinwt,sin(wt)中的t单位是
  17. python中横向制表符_python中制表符是什么意思
  18. java国漫论坛网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  19. log4j2测试用例
  20. Selenium Chrome版本与chromedriver兼容版本对照表

热门文章

  1. python读取rtf文件中指定的内容_使用Python读取RTF文件时遇到欧元符号问题
  2. Notebooks 3 for Mac(多功能记事、文档管理)
  3. 关于VMware虚拟机的侧通道缓解措施
  4. Oracle数据库之操作符及函数
  5. node学习之 ---- 通过第三方库multiparty处理上传的数据和文件
  6. 印度运营商支持的LTE band情况
  7. 柑橘中赤霉素合成基因有哪些
  8. nubia ui 5.0 android,国内首家基于5.0开发 nubia UI 2.8体验
  9. usbasp 和usbisp
  10. Sectigo个人邮件签名流程