Skip to content

Issues with the new spring-boot-dependencies 4.0.3...? #49292

@cdprete

Description

@cdprete

Hello.

I tried to update this morning in one of my projects the spring-boot-dependencies BOM from 4.0.2 to 4.0.3 and now the project can't build anymore since somehow some dependencies can't be resolved:

Image

My pom.xml is:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>foo.bar</groupId>
        <artifactId>parent</artifactId>
        <version>1.4.2</version>
    </parent>
    <groupId>foo.bar</groupId>
    <artifactId>timeseries-api</artifactId>
    <version>0.0.3-SNAPSHOT</version>
    <name>Time Series API</name>

    <scm>
        <connection>scm:git:${project.scm.url}.git</connection>
        <developerConnection>scm:git:${project.scm.url}.git</developerConnection>
        <url>https://foo.bar/timeseries-api</url>
    </scm>

    <properties>
        <java.version>25</java.version>

        <adjustments-api.version>0.0.10</adjustments-api.version>
        <joins-api.version>0.0.3</joins-api.version>
        <grpc.version>1.78.0</grpc.version>
        <opencsv.version>5.12.0</opencsv.version>
        <spring-boot.version>4.0.3</spring-boot.version>
        <spring-grpc.version>1.0.2</spring-grpc.version>
        <proto-google-common-protos.version>2.65.0</proto-google-common-protos.version>

        <rpm.build.skip>true</rpm.build.skip>
        <hiku-scriptlibs.skip>true</hiku-scriptlibs.skip>

        <spring-boot.aot.jvmArguments>
            <!-- Added to enable StructuredTaskScope  -->
            --enable-preview
            <!-- To disable the warning: WARNING: A Java agent has been loaded dynamically -->
            -XX:+EnableDynamicAgentLoading
            <!-- To disable the warning about Mockito inline -->
            -javaagent:${org.mockito:mockito-core:jar}
            <!-- To disable the warning: WARNING: A terminally deprecated method in sun.misc.Unsafe has been called -->
            <!-- To disable the warning: WARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 -->
            --sun-misc-unsafe-memory-access=allow --enable-native-access=ALL-UNNAMED
        </spring-boot.aot.jvmArguments>

        <repository.release.name>timeseries-release-local</repository.release.name>
        <repository.snapshot.name>timeseries-snapshot-local</repository.snapshot.name>

        <protobuf.options>@generated=omit</protobuf.options>
        <protobuf-maven-plugin.version>4.1.3</protobuf-maven-plugin.version>
        <protobuf.compiler.version>4.33.4</protobuf.compiler.version>

        <protobuf.gen-doc.os>linux</protobuf.gen-doc.os>
        <protobuf.gen-doc.version>1.5.1</protobuf.gen-doc.version>
        <protobuf.gen-doc.extension/> <!-- No extension for Linux/Mac -->
        <protobuf.gen-doc.sha256>47cd72b07e6dab3408d686a65d37d3a6ab616da7d8b564b2bd2a2963a72b72fd</protobuf.gen-doc.sha256>

        <download-maven-plugin>2.0.0</download-maven-plugin>
        <mapstruct.version>1.6.3</mapstruct.version>
        <mapstruct.spring-annotations.version>2.0.0</mapstruct.spring-annotations.version>
        <mapstruct.spring-extensions.version>2.0.0</mapstruct.spring-extensions.version>
        <mapstruct.spring-test-extensions.version>2.0.0</mapstruct.spring-test-extensions.version>
        <spring-retry.version>2.0.12</spring-retry.version>
        <elastic-common-schema-support.version>1.0.0</elastic-common-schema-support.version>
        <mdf2-jvm.version>3.0.2</mdf2-jvm.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.grpc</groupId>
                <artifactId>spring-grpc-dependencies</artifactId>
                <version>${spring-grpc.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>foo.bar</groupId>
                <artifactId>elastic-common-schema-support</artifactId>
                <version>${elastic-common-schema-support.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>${opencsv.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct</artifactId>
                <version>${mapstruct.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mapstruct.extensions.spring</groupId>
                <artifactId>mapstruct-spring-annotations</artifactId>
                <version>${mapstruct.spring-annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mapstruct.extensions.spring</groupId>
                <artifactId>mapstruct-spring-test-extensions</artifactId>
                <version>${mapstruct.spring-test-extensions.version}</version>
            </dependency>
            <dependency>
                <groupId>foo.bar</groupId>
                <artifactId>mdf2-jvm</artifactId>
                <version>${mdf2-jvm.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator-annotation-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-to-slf4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-services</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.grpc</groupId>
            <artifactId>spring-grpc-server-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.grpc</groupId>
            <artifactId>spring-grpc-client-spring-boot-autoconfigure</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-ldap</artifactId>
        </dependency>
        <!-- Apache Commons Pool for ldap  -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

        <dependency>
            <groupId>foo.bar</groupId>
            <artifactId>elastic-common-schema-support-spring-boot</artifactId>
        </dependency>
        <dependency>
            <groupId>foo.bar</groupId>
            <artifactId>elastic-common-schema-support-logback</artifactId>
        </dependency>

        <dependency>
            <groupId>com.google.api.grpc</groupId>
            <artifactId>proto-google-common-protos</artifactId>
            <version>${proto-google-common-protos.version}</version>
        </dependency>
        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mapstruct.extensions.spring</groupId>
            <artifactId>mapstruct-spring-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>foo.bar</groupId>
            <artifactId>mdf2-jvm</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.ldap</groupId>
            <artifactId>spring-ldap-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-data-ldap-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- embedded in-memory ldap server used for the tests -->
        <dependency>
            <groupId>com.unboundid</groupId>
            <artifactId>unboundid-ldapsdk</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.grpc</groupId>
            <artifactId>spring-grpc-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mapstruct.extensions.spring</groupId>
            <artifactId>mapstruct-spring-test-extensions</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>windows</id>
            <activation>
                <os><family>windows</family></os>
            </activation>
            <properties>
                <protobuf.gen-doc.os>windows</protobuf.gen-doc.os>
                <protobuf.gen-doc.extension>.exe</protobuf.gen-doc.extension>
                <protobuf.gen-doc.sha256>8acf0bf64eda29183b4c6745c3c6a12562fd9a8ab08d61788cf56e6659c66b3b</protobuf.gen-doc.sha256>
                <protobuf.sanctioned-executable-path>C:/Develop/protobuf</protobuf.sanctioned-executable-path>
            </properties>
        </profile>
    </profiles>

    <build>
        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
        <resources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <filtering>true</filtering>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>io.github.download-maven-plugin</groupId>
                    <artifactId>download-maven-plugin</artifactId>
                    <version>${download-maven-plugin}</version>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>wget</goal>
                            </goals>
                            <configuration>
                                <unpack>true</unpack>
                                <failOnError>true</failOnError>
                                <preemptiveAuth>true</preemptiveAuth>
                                <sha256>${protobuf.gen-doc.sha256}</sha256>
                                <serverId>${repository.release.id}</serverId>
                                <alwaysVerifyChecksum>true</alwaysVerifyChecksum>
                                <url>${repository.base.url}/protoc-generic-remote/v${protobuf.gen-doc.version}/protoc-gen-doc_${protobuf.gen-doc.version}_${protobuf.gen-doc.os}_amd64.tar.gz</url>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>io.github.ascopes</groupId>
                    <artifactId>protobuf-maven-plugin</artifactId>
                    <version>${protobuf-maven-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>generate-sources</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <configuration>
                                <outputDescriptorAttached>true</outputDescriptorAttached>
                                <outputDescriptorRetainOptions>true</outputDescriptorRetainOptions>
                                <outputDescriptorIncludeImports>true</outputDescriptorIncludeImports>
                                <outputDescriptorIncludeSourceInfo>true</outputDescriptorIncludeSourceInfo>
                                <outputDescriptorFile>${project.build.directory}/${project.artifactId}.binpb</outputDescriptorFile>
                                <excludes>
                                    <exclude>google/type/date.proto</exclude>
                                </excludes>
                                <sourceDescriptorDependencies>
                                    <sourceDescriptorDependency>
                                        <groupId>${project.groupId}</groupId>
                                        <artifactId>adjustments-api</artifactId>
                                        <version>${adjustments-api.version}</version>
                                        <type>protobin</type>
                                    </sourceDescriptorDependency>
                                    <sourceDescriptorDependency>
                                        <groupId>${project.groupId}</groupId>
                                        <artifactId>joins-api</artifactId>
                                        <version>${joins-api.version}</version>
                                        <type>protobin</type>
                                    </sourceDescriptorDependency>
                                </sourceDescriptorDependencies>
                                <plugins>
                                    <plugin kind="binary-maven">
                                        <groupId>io.grpc</groupId>
                                        <artifactId>protoc-gen-grpc-java</artifactId>
                                        <version>${grpc.version}</version>
                                        <options>${protobuf.options}</options>
                                    </plugin>
                                </plugins>
                            </configuration>
                        </execution>
                        <execution>
                            <id>generate-docs</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <configuration>
                                <plugins>
                                    <plugin kind="url">
                                        <outputDirectory>${project.build.outputDirectory}/public</outputDirectory>
                                        <url>file:target/protoc-gen-doc${protobuf.gen-doc.extension}</url>
                                    </plugin>
                                </plugins>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>properties</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                                <goal>build-info</goal>
                                <goal>process-aot</goal>
                                <goal>process-test-aot</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <!-- Added to enable StructuredTaskScope  -->
                    <compilerArgs>--enable-preview</compilerArgs>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-configuration-processor</artifactId>
                        </path>
                        <path>
                            <groupId>org.hibernate.validator</groupId>
                            <artifactId>hibernate-validator-annotation-processor</artifactId>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>${mapstruct.version}</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct.extensions.spring</groupId>
                            <artifactId>mapstruct-spring-extensions</artifactId>
                            <version>${mapstruct.spring-extensions.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
            <plugin>
                <groupId>io.github.download-maven-plugin</groupId>
                <artifactId>download-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>io.github.ascopes</groupId>
                <artifactId>protobuf-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- Added to enable StructuredTaskScope  -->
                <configuration>
                    <compilerArguments>--enable-preview</compilerArguments>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <id>replace-placeholders-in-docker-file</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}</outputDirectory>
                            <resources>
                                <resource>
                                    <filtering>true</filtering>
                                    <directory>${project.basedir}/src/main/docker</directory>
                                    <includes>
                                        <include>Dockerfile</include>
                                        <include>aot-cache.yaml</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>replace-placeholders-in-helm-chart</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/helm</outputDirectory>
                            <resources>
                                <resource>
                                    <filtering>true</filtering>
                                    <directory>${project.basedir}/src/main/helm</directory>
                                    <includes>
                                        <include>Chart.yaml</include>
                                    </includes>
                                </resource>
                                <resource>
                                    <directory>${project.basedir}/src/main/helm</directory>
                                    <excludes>
                                        <exclude>Chart.yaml</exclude>
                                    </excludes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <argLine>@{argLine} ${spring-boot.aot.jvmArguments}</argLine>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <argLine>@{argLine} ${spring-boot.aot.jvmArguments}</argLine>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <excludes>
                        <!-- Exclude application-local.yaml from the jar to prevent local configuration from being used on the server. -->
                        <exclude>application-local.yaml</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: invalidAn issue that we don't feel is valid

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions