实体模块comon公共模块 不需要入口 将install放入maven本地仓库,然后将依赖它的模块打包。 common 和父类pom.不需要xml配置:
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
因为这个插件把项目打包成可执行的jar包,所以每个需要打包的项目模块都需要这个插件。
所有子模块 父模块改为以下:
<parent><groupId>com.shop</groupId><artifactId>shop</artifactId><version>0.0.1-SNAPSHOT</version></parent>
父模块的parent为:
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.1</version><relativePath/> <!-- lookup parent from repository --></parent>
引入子模块的父模块:
<modules><module>admin</module><module>cloudserver</module><module>common</module><module>shopuser</module></modules>
加入父模块:
<packaging>pom</packaging>
添加子模块:
<packaging>jar</packaging>
做成jar包。
依赖父模块的管理:
<dependencyManagement><dependencies><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId><version>2020.0.3</version> ///主要是管理版本号</dependency></dependencies></dependencyManagement>
每个项目的target中都有可操作的jar包,使用 java -jar ~.jar 可在本地运行。 可以依赖于子模块的版本号。记住clean, clean是删除新建的target,然后package。
在父模块properties中添加以下行可以跳过测试,子模块不需要properties标签,因为它将继承父模块properties。
<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>***<skipTests>true</skipTests>***</properties>