多模块项目

https://blog.csdn.net/sinat_34344123/article/details/79080601 https://blog.csdn.net/lizhongfu2013/article/details/79656972 1.原理: 理解为将模块编译 install成为普通jar文件之后放入本地maven仓库。需要用到的模块单独在maven中进行引用即可。和普通jar文件一样理解 以下为依赖模块的引入 ``` <dependency> <groupId>com.jbn</groupId> <artifactId>iot-util</artifactId> <version>1.0-SNAPSHOT</version> </dependency> ``` 2.操作步骤 A.创建git空项目之后下载。 B.添加模块 ![image.png](https://cos.easydoc.net/85829285/files/kfyt0ni8.png) ![image.png](https://cos.easydoc.net/85829285/files/kfyt5nkd.png) 填写 项目名称 artifactid 用于项目引用 ![image.png](https://cos.easydoc.net/85829285/files/kfyt74xw.png) 3.注意点: A.首先编译install主项目 parant,因为所有项目需要依赖它。 B.不可以互相依赖,模块A依赖模块B,B又依赖A,就会造成循环依赖。所以这里需要进行良好的设计避免相互引用。尽可能的做到高内聚低耦合, C.由于install被依赖模块时会造成两次打包,第二次打包的可执行文件会覆盖普通jar文件,所以需要在被依赖的项目中的pom文件里加入编译指定可执行jar文件的文件后缀名称避免重名覆盖问题。 ```language <build> <plugins> <!-- 可执行jar文件的文件后缀名称避免maven仓库中重名覆盖问题 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <classifier>exec</classifier> </configuration> </plugin> </plugins> </build> ```