這實際上比Spring Boot更像是一個Maven問題。當你有一個多模塊項目時,Maven仍然會爲每個模塊創建單獨的構件,因此您仍然可以將它們作爲其他地方的依賴項引用。
例如在我使用Spring啓動的設置中,我有父項目和它下面的模塊。大多數模塊都是jar工件,一些模塊依賴於項目中的其他模塊,當然也有一些外部依賴。通過使用父級,我們可以使用父級中的佔位符標準化依賴項中使用的一些版本。由於這些工件仍然是單獨構建和發佈的,因此您可以在其他項目中引用它們,這是我相信您所要求的。
例如(只是主要的標籤,而不是全部):
家長:
<groupId>com.somecompany</groupId>
<artifactId>project-parent</artifactId>
<packaging>pom</packaging>
<version>1.1.2-SNAPSHOT</version>
<modules>
<module>module1</module>
<module>module2</module>
</modules>
模塊1:
<parent>
<groupId>com.somecompany</groupId>
<artifactId>project-parent</artifactId>
<version>1.1.2-SNAPSHOT</version>
</parent>
<groupId>com.somecompany.tools</groupId>
<artifactId>project-tools-core</artifactId>
<version>1.1.2-SNAPSHOT</version>
<packaging>jar</packaging>
單詞數:
<parent>
<groupId>com.somecompany</groupId>
<artifactId>project-parent</artifactId>
<version>1.1.2-SNAPSHOT</version>
</parent>
<groupId>com.somecompany.apps</groupId>
<artifactId>project-webapp</artifactId>
<version>1.1.2-SNAPSHOT</version>
<packaging>war</packaging>
<!-- dependency on other module -->
<dependency>
<groupId>com.somecompany.tools</groupId>
<artifactId>project-tools-core</artifactId>
<version>${project.version}</version>
</dependency>
一些其他項目:
<groupId>com.somecompany.apps</groupId>
<artifactId>project-webapp-services</artifactId>
<version>1.3.0-SNAPSHOT</version>
<packaging>war</packaging>
<!-- dependency on other module which is published -->
<dependency>
<groupId>com.somecompany.tools</groupId>
<artifactId>project-tools-core</artifactId>
<version>1.1.1</version>
</dependency>
因此,在這種情況下,假設您已經發布了父代及其模塊的版本1.1.1,您可以讓其他項目引用任何已發佈的工件。也許這是您錯過的發佈和發佈步驟。