idea springBoot多模块编译报错“程序包XXX不存在”

springBoot | 2019-11-18 17:13:24

1.异常现象

建了一个多模块的spring boot项目

 

pchat-center子模块要导入 pchat-user 的jar包

pchat-center的pom文件如下:

pchat-center子模块包依赖了pchat-user子模块包

代码如下:

代码没显示任务异常,没有标红显示。

maven编译结果如下:

[error] Talled to eeecute goasl eang apxche. rmL pluginr:arer-tamptler lugim:3.7.g:tungtle (ontuit-comptte) a project pchat-crtet: Compllation fallure; Compiation hallime:
[error] Eiac/pchlL/cdat-cmtcx/sxcsin/ixea/cm/laxrtocbatcmal xilata/amilz/iml/buaknGltcxlsricxnctlmzl.lanxi 48]程序包com.Ioeat.pcha1.1t.Bto.1e不存在
[error] /hmelchut/osthutountsalosbuin/ialsmdunmlaaatlomatsritaasndslhmul/bataCliseluisocelhi.hao:[24 5]找不到符号
[error]符号: 类 BtbororideathesSearice
[error]位置: 类lopthut.CHs.sernoeniuotDuCHmibrernpus

明明引入了pchat-user包,而且显示成功引入了,但不能运行,运行或者编译就出错。

 

2 异常原因

spring boot 默认打包会打包成可以启动的jar包

类包含在了BOOT-INF里面,所以找不到类

 

3.解决方法

maven修改打包方式,在被引入的项目的pom加入

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

 

再次打包

目录BOOT-INF没有了

 

 

 

登录后即可回复 登录 | 注册
    
关注编程学问公众号