添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
JAVA开发

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

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

项目结构:

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

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

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

解决方案(三选一):

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

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

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!-- 生成可执行的jar的名字:xxx-exec.jar -->
                <!-- 不固定,写成abcd都可以 -->
                <classifier>exec</classifier>
            </configuration>
        </plugin>
    </plugins>
</build>

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

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

java springboot maven

看完文章,有任何疑问,请 加入群聊 一起交流!!!

扫码关注本站微信公众号,第一时间获取网站更新动态!

本文地址: https://www.jiweichengzhu.com/article/9119217ea198412f85477c9fdef6a080

关于转载: 若站内作品和文章得到了你的青睐,欢迎各位朋友分享到个人站长或者朋友圈,但转载请注明文章出处和原文链接!

很赞哦! ( )

上一篇: 使用JavaWeb搭建个人博客网站(二):域名备案和解析

下一篇: Compilation of Maven projects is supported only if external build is started from an IDE

  • 分享几个正版 IntelliJ IDEA 激活码(破解码、注册码),亲测可用,持续更新
  • IntelliJ IDEA 2019.3利用补丁永久破解激活教程
  • IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了
  • IntelliJ IDEA 2019.2破解激活方法(持续更新)
  • idea利用补丁永久激活失败,提示“License key is in legacy format”
  • idea激活失败,提示“Key is invalid.”
  • IntelliJ IDEA 2022.2 版本最新2099年永久激活方法,亲测可用,也可以开启新UI了。
  • 写给关注支持我的朋友和攻击我网站的人(封面针对后者) 写给关注支持我的朋友和攻击我网站的人(封面针对后者)
  • java调用微信机器人SDK做个人微信的二次开发真的so easy【程序员福利】

    java调用微信机器人SDK做个人微信的二次开发真的so easy【程序员福利】

  • IntelliJ IDEA 2020.2.3永久破解激活教程,亲测可用,持续更新

    IntelliJ IDEA 2020.2.3永久破解激活教程,亲测可用,持续更新

  • 公众号查券机器人,淘客机器人免费版搭建教程分享(赚外快竟然如此简单,错过必后悔哦)

    公众号查券机器人,淘客机器人免费版搭建教程分享(赚外快竟然如此简单,错过必后悔哦)

  • 微信个人号淘客系统,淘宝客查券分佣返利系统,淘客返利查券机器人【转载】

    微信个人号淘客系统,淘宝客查券分佣返利系统,淘客返利查券机器人【转载】

  • IntelliJ IDEA 2020.3永久破解激活教程(跟紧了)

    IntelliJ IDEA 2020.3永久破解激活教程(跟紧了)

  • 微信机器人开发教程-淘客机器人解决方案整理(好东西分享)

    微信机器人开发教程-淘客机器人解决方案整理(好东西分享)

  • IntelliJ IDEA 2020.2.1永久破解激活教程(稳如老狗)

    IntelliJ IDEA 2020.2.1永久破解激活教程(稳如老狗)

  • IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了
  • IntelliJ IDEA 2019.3利用补丁永久破解激活教程
  • IntelliJ IDEA高版本最灵活的永久破解激活方法(含插件激活,时长你说了算)
  • Jetbrains全家桶基于ja-netfilter的最新破解激活详细图文教程
  • IntelliJ IDEA 2022.1永久破解激活教程(亲测可用,持续更新)
  • 分享几个正版 IntelliJ IDEA 激活码(破解码、注册码),亲测可用,持续更新
  • ja-netfilter到底需不需要mymap,2021.3.2版本激活失效?
  • 如何激活idea2022.1及以上版本中的插件(亲测可用)
  • 【史上最全】IntelliJ IDEA最新2022.1版本安装和激活视频教学(含插件)
  • IntelliJ IDEA 2022.2 版本最新2099年永久激活方法,亲测可用,也可以开启新UI了。
  • 1、本站部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除;

    2、原创文章转载时请附带本站原文链接,如有违反,追究法律责任。

    优秀个人博客 | 网站地图 | 百度统计 |