在没有 Spring Boot 的情况下获取依赖项

在使用适用于 Apache Pulsar 的 Spring 时,我们建议首先采用 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.1.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.1.6-SNAPSHOT'
	}
}

适用于 Apache Pulsar 的 Spring 的最小依赖项集通常如下所示

  • 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),则还需要包含相应的依赖项。

适用于 Apache Pulsar 的 Spring 针对 Spring Framework 6.1.14 构建,但通常应适用于任何更新版本的 Spring Framework 6.x。许多用户可能会遇到这样一个问题,即适用于 Apache Pulsar 的 Spring 的传递依赖项解析 Spring Framework 6.1.14,这会导致奇怪的类路径问题。解决此问题的最简单方法是在您的 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.1.14</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.1.14'
	}
}

前面的示例确保适用于 Apache Pulsar 的 Spring 的所有传递依赖项都使用 Spring 6.1.14 模块。