• (转)SpringBoot项目打包时提示“程序包xxx不存在,找不到符号”解决办法(已解决)


    https://blog.csdn.net/weixin_46053707/article/details/104623641?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

    SpringBoot项目打包时提示“程序包xxx不存在,找不到符号”解决办法(已解决)
    项目结构:

    xxx-parent:顶级父工程

    xxx-a:子项目1

    xxx-b:子项目2

    xxx-c:子项目3

    如图:


    问题场景:
    在运行引导类的时候,一直提示“程序包xxx不存在,找不到符号”

    原因分析:
    原来是springboot自身的编译插件spring-boot-maven-plugin导致的。

    1 <build>
    2     <plugins>
    3         <plugin>
    4             <groupId>org.springframework.boot</groupId>
    5             <artifactId>spring-boot-maven-plugin</artifactId>
    6         </plugin>
    7     </plugins>
    8 </build>


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

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

    SpringBoot项目运行引导类时候出现此类问题一般删除此依赖,在maven中clear一下项目再install一下就能解决

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

     1 <build>
     2     <plugins>
     3         <plugin>
     4             <groupId>org.springframework.boot</groupId>
     5             <artifactId>spring-boot-maven-plugin</artifactId>
     6             <configuration>
     7                 <!-- 生成可执行的jar的名字:xxx-exec.jar -->
     8                 <!-- 不固定,写成abcd都可以 -->
     9                 <classifier>exec</classifier>
    10             </configuration>
    11         </plugin>
    12     </plugins>
    13 </build>


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

     1 <build>
     2     <plugins>
     3         <plugin>
     4             <groupId>org.springframework.boot</groupId>
     5             <artifactId>spring-boot-maven-plugin</artifactId>
     6             <configuration>
     7                 <skip>true</skip>
     8             </configuration>
     9         </plugin>
    10     </plugins>
    11 </build>

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

  • 相关阅读:
    ubuntu装openssh-client和openssh-server
    路由器开源系统openwrt配置页面定制
    linux 串口接收
    SHA算法
    密码学Hash函数
    椭圆曲线加密
    ElGamal密码
    Diffie-Hellman密钥交换
    RSA加密
    公钥密码学
  • 原文地址:https://www.cnblogs.com/kingxiaozi/p/13187010.html
Copyright © 2020-2023  润新知