本文是一个项目下多个模块,创建父模块,然后创建子模块。eg:项目名为demo,创建模块supervisor为父模块,其下包括两个子模块supervisor-api(springboot项目)、supervisor-web(npm项目)


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<groupId>com.zhanglu.demo</groupId>
<artifactId>supervisor</artifactId>
<version>0.0.1-SNAPSHOT</version>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<modules>
<module>supervisor-api</module>
<module>supervisor-web</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>注:1.由于子模块需要用到springboot,所以父模块中prarent需要引入springboot,子模块的parent指向父模块 2.子模块如果需要继承父模块中的dependency,父模块中的依赖需要括中dependencyManagement中 3.父子模块的关系是在pom.xml中体现的,父pom中需要在modules中引入module(子模块的artifactId名),子POM需要在parent中指定父模块的group及artifactId


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.zhanglu.demo</groupId>
<artifactId>supervisor</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.zhanglu.demo</groupId>
<artifactId>supervisor-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>supervisor-api</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>注:如果pom中不配置web的依赖,springboot正常启动后会退出,报出Process finished with exit code 0。填 加web的依赖后,会默认其用web容器启动,就不会再退出了。



