SpringBoot多module打包找不到依赖包问题

本文分享了在Maven多模块项目中,如何正确地将持久层独立为公共依赖的实践经验。介绍了创建基础模块(base)作为持久层,通过正确配置Project的pom文件实现依赖管理,以及在具体模块中引入该依赖的方法。

写这篇博文只是想抒发下感(愤)慨(愤)

我建了个Project,2个module(pc, wx),module都是对同样的实体类进行操作,于是想把持久层独立出来作为公共依赖。

先说正确的做法:

1.再建一个module(base),写好持久层,以jar打包。

2.Project的pom(父类pom)配好dependencyManagement,dependencyManagement下的包将会被module依赖,如base。Idea会自动配好modules。

3.在module(pc, wx)的dependencies中加入base的依赖,与依赖网上的jar包一样。

这样就可以打包了,很简单。

建议用Idea,会自动加入module之间的依赖。

 

之前不懂,网上搜了一堆垃圾,简直浪费我的时间和精力!幸好看到一篇比较详细的博文有了启发。

https://www.jianshu.com/p/37d083ce2063

需要注意几点:

1.Project(父类)不能被依赖,只用于定义可依赖包(dependencyManagement)和公共dependencies。这些可依赖包的项目会自动打包并放在本地仓库(本地.m2\repository目录),这个估计很多maven小白都不知道。

接下来的依赖就很简单了,如果你想依赖某个module,就像依赖网上的包一样在dependencies配置依赖它的jar包。毕竟都是用的同一个maven仓库,依赖肯定不会出错。

这是我在pc的pom加入的依赖:

       <dependency>
            <groupId>com.***</groupId>
            <artifactId>base</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

2.把被依赖的公共部分单独做个module,不需要启动类,不需要多余的配置,默认就行。

这是我的base下pom的全部内容

    <parent>
        <artifactId>***</artifactId>
        <groupId>com.***</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>base</artifactId>

如果需要启动,像module(pc, wx),用SpringBoot的默认Build就行。

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

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值