Maven+SpringBoot多模块构建及扫包问题解决
构建主项目
直接创建一个全新的maven项目,然后直接删除src文件,只剩下.idea、.gitignore(用于配置在使用git时,忽略对应的文件)、pom.xml
构建子模块
右击主项目new–>Module(构建maven项目,想构建几个就弄几个)
除controller所在的Module,其余的Module把启动类和test目录全部删除,只留main、.gitignore、pom.xml
主项目和子模块pom依赖管理
主项目
配置主项目组织、版本等信息
<groupId>com.lg</groupId>
<artifactId>shopping</artifactId>
<version>1.0.0</version>
<name>shopping</name>
<description>Demo project for Spring Boot</description>
配置主项目含有哪些子模块
<modules>
<module>shopping_biz</module>
<module>shopping_common</module>
<module>shopping_dal</module>
<module>shopping_dto</module>
<module>shopping_web</module>
</modules>
配置版本信息
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<shiro>1.4.0</shiro>
</properties>
主项目依赖填写,需在 dependencies 加 dependencyManagement 一层管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${shiro}</version>
</dependency>
</dependencies>
</dependencyManagement>
子模块
设置parent
<!-- 该模块是子模块 设置父模块 -->
<parent>
<groupId>com.lg</groupId>
<artifactId>shopping</artifactId>
<version>1.0.0</version>
<relativePath/>
</parent>
如果主项目中存在的依赖就不要写版本号(version)否则产生冲突
扫包问题解决
我真的快哭了,花了好几个小时去研究怎么去解决扫包问题,百度都百度了很久,自己没有去考虑如何统一一起扫包,而是想的是用@ComponentScan和@MapperScan分别扫包,在凌晨5点钟了才想可不可以统一导包,结果一百度就出来了,成年人的崩溃瞬间啊!
@SpringBootApplication(scanBasePackages = "com.lg")
直接扫它们公共的文件路径就好了!
总结:致敬我逝去的时间啊!
早上6:20把博客写完!该睡了!