这个坑蛮棘手的
事发场景:main-boot
引入common-boot
模块,common-boot
模块是一个spring-boot
模块
关键GAV
构成如下:
common-boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.7</version>
<relativePath/>
</parent>
<groupId>com.ruben</groupId>
<artifactId>common-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
其中common-boot
我们编写一个IService
package com.ruben.service;
/**
* 接口
*
* @author VampireAchao
* @since 2022/5/15 10:23
*/
public interface IService {
}
然后拿到main-boot
中引用
main-boot
的pom.xml
<dependencies>
<dependency>
<groupId>com.ruben</groupId>
<artifactId>common-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
写个实现类继承
代码语言:javascript复制package com.ruben.service.impl;
import com.ruben.service.IService;
/**
* 服务实现类
*
* @author <achao1441470436@gmail.com>
* @since 2022/5/15 10:24
*/
public class ServiceImpl implements IService {
}
然后我们首先mvn install
一下common-boot
我们尝试在main-boot
进行mvn compile
却发现编译报错
说是找不到符号
此时我们其实可以根据common-boot
的jar
拆包查看
发现其目录结构不太对劲
我们的包变成了BOOT-INF
这时候我们可以在common-boot
的pom.xml
配置一下spring-boot-maven-plugin
在configuration
下设置skip
为true
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
或者干脆直接去掉这个plugin
配置
再次mvn install
打包、解包,发现正常了
然后我们在main-boot
再次进行编译,发现成功
注意如果还是不成功,我们可以清除一下idea
缓存,或者执行这里的命令进行刷新依赖、重新生成idea
项目模块配置文件