在沒有 Spring Boot 的情況下獲取依賴

我們建議在使用 Spring for Apache Pulsar 時,首先採用 Spring Boot 方式。但是,如果您不使用 Spring Boot,則獲取依賴項的首選方式是使用提供的 BOM,以確保在整個專案中使用的模組版本一致。以下示例顯示瞭如何針對 Maven 和 Gradle 執行此操作

  • Maven

  • Gradle

pom.xml
<dependencyManagement>
	<dependencies>
		<!-- ... other dependency elements ... -->
		<dependency>
			<groupId>org.springframework.pulsar</groupId>
			<artifactId>spring-pulsar-bom</artifactId>
			<version>1.2.6-SNAPSHOT</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>
build.gradle
plugins {
	id "io.spring.dependency-management" version "1.1.4"
}

dependencyManagement {
	imports {
		mavenBom 'org.springframework.pulsar:spring-pulsar-bom:1.2.6-SNAPSHOT'
	}
}

Spring for Apache Pulsar 的最小依賴集通常如下所示

  • Maven

  • Gradle

pom.xml
<dependencies>
	<!-- ... other dependency elements ... -->
	<dependency>
		<groupId>org.springframework.pulsar</groupId>
		<artifactId>spring-pulsar</artifactId>
	</dependency>
</dependencies>
build.gradle
dependencies {
	implementation "org.springframework.pulsar:spring-pulsar"
}

如果您使用其他功能(例如 Reactive),則還需要包含相應的依賴項。

Spring for Apache Pulsar 基於 Spring Framework 6.2.6 構建,但通常應與任何較新的 Spring Framework 6.x 版本一起使用。許多使用者可能會遇到 Spring for Apache Pulsar 的傳遞依賴項解析 Spring Framework 6.2.6 的情況,這可能會導致奇怪的類路徑問題。解決此問題的最簡單方法是在您的 dependencyManagement 部分中使用 spring-framework-bom,如下所示

  • Maven

  • Gradle

pom.xml
<dependencyManagement>
	<dependencies>
		<!-- ... other dependency elements ... -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-framework-bom</artifactId>
			<version>6.2.6</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>
build.gradle
plugins {
	id "io.spring.dependency-management" version "1.1.4"
}

dependencyManagement {
	imports {
		mavenBom 'org.springframework:spring-framework-bom:6.2.6'
	}
}

前面的示例確保 Spring for Apache Pulsar 的所有傳遞依賴項都使用 Spring 6.2.6 模組。