一个易于维护、扩展的项目,一定会讲究分组件的概念,比如说一个web应用中,进行网关层和服务层的分离,服务层只负责业务逻辑的实现,网关层负责请求转发和调用服务层。在maven中提供了<modules>标签实现了这个功能,比如说在idea中,可以通过file->new 来选择modele选项进行创建,
每个module都相当于一个独立的spring boot,并在pom.xml中通过以下配置信息声明自己的标识。
<groupId></groupId>
<modelVersion></modelVersion>
<artifactId></artifactId>
<version></version>
<name></name>
<description></description>
也可以添加<parent>标签来引用外层pom中配置的公共依赖配置,相当于java中继承的概念。
并在命令行中运行mvn clean install -Dmaven.test.skip命令来打包发布到本地仓库(在对module中代码进行更改时,都需要进行重新打包,否者其他引用该module的项目会报错),打包好以后,在外层pom中可以对本项目中的所有module进行聚合,
<modules>
<module>(artifactId)</module>
<module>(artifactId)</module>
<module>(artifactId)</module>
<module>(artifactId)</module>
</modules>
在其他应用中,则直接通过
<dependency>
<groupId></groupId>
<artifactId></artifactId>
</dependency>
则可以直接引用。