Spring Cloud 多模块相互依赖打包问题解决

2019-10-23日更新,另一种方法,请看完之后再做选择.

最近在学习spring cloud的时候,发现一个问题,就是在模块打包的时候,有一个依赖公共模块的部分,总是在打包的时候提示找不到公共模块的依赖,导致打包出错,下面是模块结构.
WeChat Screenshot_20190610145243.png

首先发现是因为自己的模块中pom的有问题,因为创建的时候没有选择其父依赖,导致各个模块之间各管各的,所以进行修改,将各模块标签修改为其父工程的pom.
pom.png
修改好之后发现打包还是有问题,于是继续查找,直到谷歌发现,一个方法就是在公共模块中maven-plugs中加入标签,

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--被依赖的公共模块必须加上这个,打包之后启动,选择后面带EXE的启动,依赖该模块的其他模块就不会因为找不到依赖而打包出错-->
                    <classifier>exe</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>

打包之后发现jar包有了新文件名,
jar.png
然后再对依赖该模块的模块进行打包,就不会再有问题了, 记住打包的时候要在idea->maven,使用最外层的pom.xml打包,

另一种方法

那么问题来了,这样打包并不是最好的方法,建议使用下面的方法

  • 将模块的main方法和配置文件删除,在resource目录下新建META-INF, 然后在该目录下新建spring.factories

  • 加入配置
    导入方式.png
    WeChat Screenshot_20191023094516.png

  • 修改pom
    pom.png

  • 最后整个模块的目录就是下面的
    目录结构.png

其实看spring源码的时候就可以知道他会默认扫描resource目录下的META-INF/spring.factories,倒入配置, 当然引用该模块的方法还是不变.

总结

打包应该还有其他的方法,是我不知道的,欢迎各位大佬指点问题

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值