1、环境描述:在业务模块拆分的基础上又做了功能拆分,分别将controller和service拆分成微服务,即顶级父工程A下边分别有A1、A2、A3、、、工程,A1下边分别有controller、service微服务和共用api;controller微服务中写控制层代码,service微服务中写业务代码,通过 @EnableFeignClients 调用。
2、controller微服务打jar时,提示service微服务中的程序包不存在,二者存在依赖关系,报错信息如下
2.1 解决办法:build中加入以下配置
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--被依赖的公共模块必须加上这个,打包之后启动,选择后面带EXE的启动,依赖该模块的其他模块就不会因为找不到依赖而打包出错-->
<classifier>exe</classifier>
</configuration>
</plugin>
</plugins>
</build>
原因:①被依赖的公共模块必须加上这个,打包之后启动选择后面带 EXE 的启动,依赖该模块的其他模块就不会因为找不到依赖而打包出错
②mvn打jar包时有两种可能,一个是可执行的jar
2.2 执行idea 打jar的命令
mvn package -Dmaven.test.skip=true
2.3 执行target目录下产生的jar
java -jar xxx-SNAPSHOT.jar --server.port=8080