日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【sprinb-boot】maven 多模块项目:单独 spring-boot:run 某个模块

發布時間:2024/9/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 某个模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。