【sprinb-boot】maven 多模块项目:单独 spring-boot:run 某个模块
生活随笔
收集整理的這篇文章主要介紹了
【sprinb-boot】maven 多模块项目:单独 spring-boot:run 某个模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 前言
- 假設的 maven 多模塊項目
- 模塊關系1
- 模塊關系2
- 模塊關系3
- 模塊關系4
- 示例:模塊關系1
- 1,my-parent1/pom.xml 文件
- 2,my-parent1/my-app1/pom.xml 文件
- 3,執行 mvn spring-boot:run
- 示例:模塊關系2
- 1,my-parent2/pom.xml 文件
- 2,my-parent2/my-app2/pom.xml 文件
- 3,執行 mvn spring-boot:run
- 示例:模塊關系3
- 1,my-parent3/pom.xml 文件
- 2,my-parent3/my-app3/pom.xml 文件
- 3,執行 mvn spring-boot:run
- 示例:模塊關系4
- 1,my-parent4/pom.xml 文件
- 2,my-parent4/my-app4/pom.xml 文件
- 3,執行 mvn spring-boot:run
- 參考
前言
- springboot 2.0.0.RELEASE
- maven 3.5.0
- maven 多模塊項目關系
經過一段時間的驗證,發現有不妥之處,再次編輯修正。
假設的 maven 多模塊項目
假設多模塊項目的目錄結構如下:
my-parent ├─ my-domain ├─ my-service └─ my-app該項目可能具備以下集中關系。
模塊關系1
同時具備繼承關系和聚合關系。
my-parent1 <<< 無父項目 ├─ my-domain ├─ my-service └─ my-app1 <<< 父項目為 my-parent 的 Spring Boot project模塊關系2
僅具備聚合關系,不具備繼承關系。
my-parent2 <<< 無父項目 ├─ my-domain ├─ my-service └─ my-app2 <<< 父項目為 spring-boot-starter-parent 的 Spring Boot project模塊關系3
同時具備繼承關系和聚合關系。
my-parent3 <<< 父項目為 spring-boot-starter-parent ├─ my-domain ├─ my-service └─ my-app3 <<< 父項目為 my-parent 的 Spring Boot project模塊關系4
僅具備聚合關系,不具備繼承關系。
my-parent4 <<< 父項目為 spring-boot-starter-parent ├─ my-domain ├─ my-service └─ my-app4 <<< 父項目為 spring-boot-starter-parent 的 Spring Boot project該如何在my-app上執行mvn spring-boot:run?
示例:模塊關系1
1,my-parent1/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>test</groupId><artifactId>my-parent1</artifactId><version>1.0</version><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><maven-compiler-plugin.version>3.1</maven-compiler-plugin.version></properties><modules><module>my-app1</module></modules><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin></plugins></build> </project>2,my-parent1/my-app1/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>test</groupId><artifactId>my-parent1</artifactId><version>1.0</version></parent><artifactId>my-app1</artifactId><properties></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.0.0.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>- 與其它集中關系相比,這里多了個 dependencyManagement 。
3,執行 mvn spring-boot:run
在my-parent1目錄執行如下命令:
shell> mvn spring-boot:run -pl my-app1或者:
shell> mvn spring-boot:run -pl test:my-app1- test 是 groupId
- my-app1 是 artifactId
示例:模塊關系2
1,my-parent2/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>test</groupId><artifactId>my-parent2</artifactId><version>1.0</version><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><maven-compiler-plugin.version>3.1</maven-compiler-plugin.version></properties><modules><module>my-app2</module></modules><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin></plugins></build></project>2,my-parent2/my-app2/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>test</groupId><artifactId>my-app2</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies><build></build></project>3,執行 mvn spring-boot:run
在my-parent1目錄執行如下命令:
shell> mvn spring-boot:run -pl my-app2或者:
shell> mvn spring-boot:run -pl test:my-app2- test 是 groupId
- my-app2 是 artifactId
示例:模塊關系3
1,my-parent3/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>test</groupId><artifactId>my-parent3</artifactId><version>1.0</version><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><maven-compiler-plugin.version>3.1</maven-compiler-plugin.version></properties><modules><module>my-app3</module></modules><build></build></project>2,my-parent3/my-app3/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>test</groupId><artifactId>my-parent3</artifactId><version>1.0</version></parent><artifactId>my-app3</artifactId><properties></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies><build></build></project>3,執行 mvn spring-boot:run
在my-parent1目錄執行如下命令:
shell> mvn spring-boot:run -pl my-app3或者:
shell> mvn spring-boot:run -pl test:my-app3- test 是 groupId
- my-app3 是 artifactId
示例:模塊關系4
1,my-parent4/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>test</groupId><artifactId>my-parent4</artifactId><version>1.0</version><packaging>pom</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><modules><module>my-app4</module></modules><build></build></project>2,my-parent4/my-app4/pom.xml 文件
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><groupId>test</groupId><artifactId>my-app4</artifactId><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies><build></build> </project>3,執行 mvn spring-boot:run
在my-parent1目錄執行如下命令:
shell> mvn spring-boot:run -pl my-app4或者:
shell> mvn spring-boot:run -pl test:my-app4- test 是 groupId
- my-app4 是 artifactId
參考
https://stackoverflow.com/questions/41092200/run-mvn-spring-bootrun-from-parent-module
總結
以上是生活随笔為你收集整理的【sprinb-boot】maven 多模块项目:单独 spring-boot:run 某个模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三季度韩国手机市场市占率:三星84%遥遥
- 下一篇: 极星首款手机提前曝光!形似魅族20 运行