in my idea parent module use bottom config:

<parent>
    <!-- 从SpringBoot继承默认的配置 -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.4</version>
</parent>

i want exclusions spring boot 3.4.2 version auto include pulsar 3.1.3 version

Comment From: mhalbritter

I don't think you can use Pulsar 3.2 with Spring Boot 3.2. There are a lot of properties for pulsar which you can try to override to 3.2.1. Spring Boot 3.3 will use Pulsar 3.2 by default.

It feels like this is a question that would be better suited to Stack Overflow. As mentioned in the guidelines for contributing, we prefer to use GitHub issues only for bugs and enhancements. Feel free to update this issue with a link to the re-posted question (so that other people can find it) or add some more details if you feel this is a genuine bug.

Comment From: startjava

@mhalbritter

In fact, most people need to use the version of spring boot >3 to customize the version of pulsar, and now the 3.2.4 version of spring boot must use pulsar 3.1.3 version, in fact, this is unreasonable. Therefore, the main purpose of sending this issue is to advise the authorities not to fix the version number of pulsar. Of course, this is just my opinion, if it is not technically possible, then there is nothing I can do.

Comment From: mhalbritter

Sorry, I don't understand. What's the problem exactly?

You want Spring Boot 3.2.x to use Pulsar 3.2.1.

And you want Spring Boot 3.3.x to use Pulsar 3.2.1, too.

Right?

Comment From: startjava

Sorry, I don't understand. What's the problem exactly?

You want Spring Boot 3.2.x to use Pulsar 3.2.1.

And you want Spring Boot 3.3.x to use Pulsar 3.2.1, too.

Right?

yes,This means that I can customize the version that uses pulsar whenever I use any of the sub-versions of spring boot3 。

<?xml version="1.0" encoding="UTF-8"?>

<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ghy.www</groupId>
    <artifactId>parent</artifactId>
    <version>1.0-RELEASE</version>
    <packaging>pom</packaging>

    <name>parent</name>
    <url>http://www.ghy.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

    <parent>
        <!-- 从SpringBoot继承默认的配置 -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.4</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!-- 引入SpringBoot对web开发的依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>????????????????????????????????????</groupId>
                    <artifactId>????????????????</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.pulsar</groupId>
            <artifactId>pulsar-client</artifactId>
            <version>3.2.1</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>parent</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

Above is my pom.xml configuration option, I want to exclude the built-in pulsar3.1.3 version, what should I write? In fact, my problem is that I can freely replace the version of pulsar that comes with spring boot.

If it can be implemented, it also applies to the choice of custom versions of other third-party middleware.

Comment From: wilkinsona

As described in the documentation, you can use a property to override Spring Boot's dependency management. In this case it would be pulsar.version.

In fact, my problem is that I can freely replace the version of pulsar that comes with spring boot.

I'm afraid that this isn't realistic. It depends on whether there are any breaking changes in the version of Pulsar that you want to use versus the version that Spring Boot and Spring for Apache Pulsar have been tested with.

As @mhalbritter has already said, this sort of question belongs on Stack Overflow. If you have any further questions, please follow up there. As mentioned in the guidelines for contributing, we prefer to use GitHub issues only for bugs and enhancements.