天天看點

Maven針對SpringBoot的多項目依賴配置

版權聲明:本文首發 http://asing1elife.com ,轉載請注明出處。 https://blog.csdn.net/asing1elife/article/details/82811826

在Spring Boot中對于多項目依賴配置,可通過Maven實作

更多精彩

建立一個父級的pom檔案

  1. 在該pom中指定其

    <groupId/>

    <artifactId/>

    <version/>

  2. <packaging/>

    必須是pom
  3. <parent/>

    需要引入

    spring-boot-starter-parent

    表示繼承Spring Boot的父級配置
  4. <modules/>

    中依次引入後續需要互相依賴的項目
  5. <dependencyManagement/>

    中對上述引入的項目進行完成依賴配置
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.innovaee.hts.parent</groupId>
    <artifactId>innovaee-hts-parent</artifactId>
    <version>1.0.0.RELEASE</version>
    <packaging>pom</packaging>

    <name>innovaee-hts-parent</name>
    <url>http://maven.apache.org</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
    </parent>

    <modules>
        <module>hts-admin-backend</module>
  ...
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.innovaee.hts</groupId>
                <artifactId>hts-admin-backend</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
  ...
        </dependencies>
    </dependencyManagement>

</project>
           

在各個子項目的pom中對依賴關系進行配置

  • 父級不再指向Spring Boot的父級,而是上述自定義父級
<parent>
    <groupId>com.innovaee.hts.parent</groupId>
    <artifactId>innovaee-hts-parent</artifactId>
    <version>1.0.0.RELEASE</version>
</parent>
           
  • 從父級中擷取需要的依賴配置
<dependency>
    <groupId>org.tshark.core</groupId>
    <artifactId>tshark-core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  ...
</dependency>
           

在需要被打包成jar包的項目中引入Spring Boot的編譯插件

<build>
    <finalName>hts-admin</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
           

在父級pom所在的目錄中執行打包指令對項目進行打包

mvn clean package -Dmaven.test.skip=true