sap-cloud-sdks4hanasap-business-technology-platform

Getting NoSuchMethodError (DestinationAccessor) when launching Spring Boot project with generated Java VDM


I'm building a Spring Boot project making use of S/4HANA custom OData Service and Java VDM. I have been following various tutorials on SAP Blog, developer.sap.com or S4H13 course - the approach is pretty much the same. I managed to successfully generate VDM for my Custom OData Service based on the edmx file, created all necessary commands, methods in the controller and so on.

Unfortunately, I'm encountering an issue when launching the project locally. I use the following command first: mvn clean package and later, when I'm in the application directory want to run the project: mvn spring-boot:run.

The project build fails with the following errors and exceptions:

2020-07-31 12:45:20.941 ERROR 70176 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Exception sending context initialized event to listener instance of class [com.sap.cloud.sdk.s4hana.connectivity.ErpDestination]

java.lang.NoSuchMethodError: com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor.declareDestinations(Ljava/util/Collection;)V
        at com.sap.cloud.sdk.cloudplatform.connectivity.DestinationDeclarator.contextInitialized(DestinationDeclarator.java:61)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4684)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5147)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Tomcat.start(Tomcat.java:468)
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:437)
        at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:176)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:158)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
        at com.sap.cloud.sdk.btwb.Application.main(Application.java:25)

Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

2020-07-31 12:45:21.040  WARN 70176 --- [main] o.a.c.loader.WebappClassLoaderBas: The web application [ROOT] appears to have started a thread named [HikariPool-1 housekeeper] but has failed to stop it. This is ver
y likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-07-31 12:45:21.423 ERROR 70176 --- [main] o.s.boot.SpringApplication: Application run failed

I give the full stack trace below.

The project was creates using the following archetype: mvn archetype:generate -DarchetypeGroupId=com.sap.cloud.sdk.archetypes -DarchetypeArtifactId=scp-cf-spring -DarchetypeVersion=RELEASE

I guess that the cause may lie in the Maven dependencies. Firstly, I used the versions of maven plugins from the blog: https://blogs.sap.com/2018/04/30/deep-dive-10-with-sap-s4hana-cloud-sdk-generating-java-vdm-for-s4hana-custom-odata-service/ Later, I also changed them to the most up-to-date dependencies, but the problem still persists.

Before adding required dependencies and generating vdm, the project launched successfully.

Any help will be very much appreciated.

pom.xml file: I removed the project name and replaced it with 'Spring-Project'

<?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>

    <name>Spring-Project - Application</name>
    <description>Spring-Project - Application</description>

    <artifactId>Spring-Project-application</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>com.sap.cloud.sdk.sp</groupId>
        <artifactId>Spring-Project</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>com.sap.cloud.sdk.cloudplatform</groupId>
            <artifactId>scp-cf</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sap.cloud.sdk.s4hana</groupId>
            <artifactId>s4hana-all</artifactId>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sap.hcp.cf.logging</groupId>
            <artifactId>cf-java-logging-support-logback</artifactId>
        </dependency>

        <!-- Dependency added from the original Btwb project -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <!-- END -->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--
        Since com.sap.xs2.security:java-container-security is not available in Maven Central as of today,
        you need to download this dependency manually.

        The library is available for download at:
        https://launchpad.support.sap.com/#/softwarecenter/search/XS_JAVA
        -->

        <!-- Dependencies for security setup -->
        <!--
        <dependency>
            <groupId>com.sap.xs2.security</groupId>
            <artifactId>java-container-security</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.unboundid.components</groupId>
                    <artifactId>json</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security.oauth</groupId>
            <artifactId>spring-security-oauth2</artifactId>
        </dependency>
        -->

        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
        </dependency>

        <!-- Dependency added from the original sp project -->
        <!-- https://mvnrepository.com/artifact/com.github.prominence/openweathermap-api -->
        <dependency>
            <groupId>com.github.prominence</groupId>
            <artifactId>openweathermap-api</artifactId>
            <version>1.2</version>
        </dependency>
        <!-- END -->
        <!-- Dependency added from the original sp project -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- END -->
        <dependency>
            <groupId>com.sap.cloud.s4hana.datamodel</groupId>
            <artifactId>odata-api</artifactId>
            <version>2.9.1</version>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>cf</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <activatedProperties>cf</activatedProperties>
            </properties>
        </profile>
        <profile>
            <id>local</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <activatedProperties>local</activatedProperties>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>
    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <attach>false</attach>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>com.sap.cloud.sdk.plugins</groupId>
                <artifactId>usage-analytics-maven-plugin</artifactId>
                <version>3.23.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>usage-analytics</goal>
                        </goals>
                        <configuration>
                            <skipUsageAnalytics>false</skipUsageAnalytics>
                            <generateSalt>true</generateSalt>
                            <!--
                            Note: A random salt is auto-generated once the project is built for the first time.
                            Please keep the generated salt in the POM file, for example, when pushing to git.

                            To learn more, visit: https://blogs.sap.com/2018/10/23/usage-analytics-s4sdk/
                            -->
                            <salt>c33534cf0f084db7bd776b7ca382c965a864ec8ed7dab2e5c94e7a051707c5df</salt>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.sap.cloud.s4hana.datamodel</groupId>
                <artifactId>odata-generator-maven-plugin</artifactId>
                <version>2.9.1</version>
                <executions>
                    <execution>
                        <id>generate-consumption</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputDirectory>${project.basedir}/edmx</inputDirectory>
                            <outputDirectory>${project.build.directory}/vdm</outputDirectory>
                            <deleteOutputDirectory>true</deleteOutputDirectory>
                            <packageName>com.sap.cloud.sdk.btwb.vdm</packageName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/vdm</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

mvn dependency:tree

[INFO] -----< com.sap.cloud.sdk.sp:Spring-Project-application >------
[INFO] Building Spring-Project - Application 1.0-SNAPSHOT         [2/4]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ Spring-Project-application ---
[INFO] com.sap.cloud.sdk.btwb:Spring-Project-application:jar:1.0-SNAPSHOT
[INFO] +- com.sap.cloud.sdk.cloudplatform:scp-cf:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:auditlog-scp-cf:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:auditlog:jar:3.23.0:compile
[INFO] |  |  +- io.vavr:vavr:jar:0.10.2:compile
[INFO] |  |  |  \- io.vavr:vavr-match:jar:0.10.2:compile
[INFO] |  |  \- com.google.errorprone:error_prone_annotations:jar:2.4.0:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:caching:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:security:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:tenant:jar:3.23.0:compile
[INFO] |  |  \- com.github.ben-manes.caffeine:caffeine:jar:2.8.4:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core-scp-cf:jar:3.23.0:compile
[INFO] |  |  +- com.mikesamuel:json-sanitizer:jar:1.2.1:compile
[INFO] |  |  \- com.auth0:java-jwt:jar:3.10.3:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp-cf:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.cloudplatform:resilience:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.frameworks:resilience4j:jar:3.23.0:runtime
[INFO] |  |  |  +- io.github.resilience4j:resilience4j-circuitbreaker:jar:1.4.0:runtime
[INFO] |  |  |  |  \- io.github.resilience4j:resilience4j-core:jar:1.4.0:runtime
[INFO] |  |  |  +- io.github.resilience4j:resilience4j-bulkhead:jar:1.4.0:runtime
[INFO] |  |  |  +- io.github.resilience4j:resilience4j-timelimiter:jar:1.4.0:runtime
[INFO] |  |  |  +- io.github.resilience4j:resilience4j-cache:jar:1.4.0:runtime
[INFO] |  |  |  |  \- javax.cache:cache-api:jar:1.1.1:runtime
[INFO] |  |  |  \- io.github.resilience4j:resilience4j-retry:jar:1.4.0:runtime
[INFO] |  |  +- com.sap.cloud.security.xsuaa:token-client:jar:2.7.2:compile
[INFO] |  |  |  \- com.sap.cloud.security.xsuaa:api:jar:2.7.2:compile
[INFO] |  |  +- commons-io:commons-io:jar:2.7:compile
[INFO] |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.13:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:security-scp-cf:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.security:java-security:jar:2.7.2:compile
[INFO] |  |  \- com.sap.cloud.security:java-api:jar:2.7.2:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:servlet:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.cloudplatform:tenant-scp-cf:jar:3.23.0:compile
[INFO] |  \- com.sap.cloud.sdk.cloudplatform:metering:jar:3.23.0:compile
[INFO] +- com.sap.cloud.sdk.s4hana:s4hana-all:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.s4hana:s4hana-core:jar:3.23.0:compile
[INFO] |  |  \- com.sap.cloud.sdk.datamodel:fluent-result:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.s4hana:s4hana-connectivity:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.datamodel:odata-core:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.datamodel:odata-client:jar:3.23.0:compile
[INFO] |  |  +- org.jsoup:jsoup:jar:1.13.1:compile
[INFO] |  |  +- org.apache.commons:commons-text:jar:1.8:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-core:jar:2.11.0:compile
[INFO] |  |  +- joda-time:joda-time:jar:2.10.6:compile
[INFO] |  |  \- com.sap.cloud.sdk.quality:odata-querylistener:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.s4hana:s4hana-api-odata:jar:3.23.0:compile
[INFO] |  +- com.sap.cloud.sdk.datamodel:soap:jar:3.23.0:compile
[INFO] |  |  +- org.apache.axis2:axis2-adb:jar:1.7.9:compile
[INFO] |  |  |  \- org.apache.ws.commons.axiom:axiom-dom:jar:1.2.21:runtime
[INFO] |  |  |     \- org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0:runtime
[INFO] |  |  |        \- org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime
[INFO] |  |  +- org.apache.axis2:axis2-transport-http:jar:1.7.9:compile
[INFO] |  |  +- org.apache.axis2:axis2-kernel:jar:1.7.9:compile
[INFO] |  |  |  +- org.apache.ws.commons.axiom:axiom-api:jar:1.2.21:compile
[INFO] |  |  |  |  +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.1:compile
[INFO] |  |  |  |  +- jaxen:jaxen:jar:1.2.0:compile
[INFO] |  |  |  |  +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
[INFO] |  |  |  |  \- org.apache.james:apache-mime4j-core:jar:0.7.2:compile
[INFO] |  |  |  +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.21:runtime
[INFO] |  |  |  +- org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:jar:1.1.2:compile
[INFO] |  |  |  +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1:compile
[INFO] |  |  |  +- commons-fileupload:commons-fileupload:jar:1.3.3:compile
[INFO] |  |  |  +- wsdl4j:wsdl4j:jar:1.6.3:compile
[INFO] |  |  |  +- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile
[INFO] |  |  |  +- org.apache.neethi:neethi:jar:3.0.3:compile
[INFO] |  |  |  \- org.apache.woden:woden-core:jar:1.0M10:compile
[INFO] |  |  \- org.apache.axis2:axis2-transport-local:jar:1.7.9:runtime
[INFO] |  +- com.sap.cloud.sdk.s4hana:rfc:jar:3.23.0:compile
[INFO] |  |  +- com.sap.cloud.sdk.quality:common:jar:3.23.0:compile
[INFO] |  |  |  \- org.apache.commons:commons-csv:jar:1.8:compile
[INFO] |  |  \- org.json:json:jar:20200518:compile
[INFO] |  \- com.sap.cloud.servicesdk:odatav2-connectivity-sdk3:jar:1.39.0:compile
[INFO] |     +- org.apache.commons:commons-lang3:jar:3.10:compile
[INFO] |     +- com.sap.cloud.servicesdk:jacksonutil-sdk3:jar:1.39.0:compile
[INFO] |     \- com.sap.cloud.servicesdk.prov:api:jar:1.39.0:compile
[INFO] |        +- javax.transaction:javax.transaction-api:jar:1.3:compile
[INFO] |        +- commons-beanutils:commons-beanutils:jar:1.9.4:compile
[INFO] |        |  \- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] |        \- com.sap.cds:cds4j-api:jar:1.7.0:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.30:compile
[INFO] +- org.slf4j:jcl-over-slf4j:jar:1.7.30:runtime
[INFO] +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] |  \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] +- com.sap.hcp.cf.logging:cf-java-logging-support-logback:jar:3.0.1:compile
[INFO] |  \- com.sap.hcp.cf.logging:cf-java-logging-support-core:jar:3.0.1:compile
[INFO] |     \- com.fasterxml.jackson.jr:jackson-jr-objects:jar:2.11.0:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.3.0.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-aop:jar:2.3.0.RELEASE:compile
[INFO] |  |  \- org.aspectj:aspectjweaver:jar:1.9.5:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:2.3.0.RELEASE:compile
[INFO] |  |  +- com.zaxxer:HikariCP:jar:3.4.5:compile
[INFO] |  |  \- org.springframework:spring-jdbc:jar:5.2.6.RELEASE:compile
[INFO] |  +- jakarta.transaction:jakarta.transaction-api:jar:1.3.3:compile
[INFO] |  +- jakarta.persistence:jakarta.persistence-api:jar:2.2.3:compile
[INFO] |  +- org.hibernate:hibernate-core:jar:5.4.15.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] |  |  +- org.javassist:javassist:jar:3.24.0-GA:compile
[INFO] |  |  +- net.bytebuddy:byte-buddy:jar:1.10.10:compile
[INFO] |  |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  |  +- org.jboss:jandex:jar:2.1.3.Final:compile
[INFO] |  |  +- com.fasterxml:classmate:jar:1.5.1:compile
[INFO] |  |  +- org.dom4j:dom4j:jar:2.1.3:compile
[INFO] |  |  +- org.hibernate.common:hibernate-commons-annotations:jar:5.1.0.Final:compile
[INFO] |  |  \- org.glassfish.jaxb:jaxb-runtime:jar:2.3.3:compile
[INFO] |  |     +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile
[INFO] |  |     +- org.glassfish.jaxb:txw2:jar:2.3.3:compile
[INFO] |  |     +- com.sun.istack:istack-commons-runtime:jar:3.0.11:compile
[INFO] |  |     \- com.sun.activation:jakarta.activation:jar:1.2.2:runtime
[INFO] |  +- org.springframework.data:spring-data-jpa:jar:2.3.0.RELEASE:compile
[INFO] |  |  +- org.springframework.data:spring-data-commons:jar:2.3.0.RELEASE:compile
[INFO] |  |  +- org.springframework:spring-orm:jar:5.2.6.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-tx:jar:5.2.6.RELEASE:compile
[INFO] |  \- org.springframework:spring-aspects:jar:5.2.6.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter:jar:2.3.0.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot:jar:2.3.0.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.3.0.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.3.0.RELEASE:compile
[INFO] |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.13.2:compile
[INFO] |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.13.2:compile
[INFO] |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
[INFO] |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] |  +- org.springframework:spring-core:jar:5.2.6.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-jcl:jar:5.2.6.RELEASE:compile
[INFO] |  \- org.yaml:snakeyaml:jar:1.26:compile
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.3.0.RELEASE:compile
[INFO] |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.35:compile
[INFO] |  +- org.glassfish:jakarta.el:jar:3.0.3:compile
[INFO] |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.35:compile
[INFO] +- org.springframework.boot:spring-boot-actuator:jar:2.3.0.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:5.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:5.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-beans:jar:5.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-context:jar:5.2.6.RELEASE:compile
[INFO] |  +- org.springframework:spring-expression:jar:5.2.6.RELEASE:compile
[INFO] |  \- org.springframework:spring-web:jar:5.2.6.RELEASE:compile
[INFO] +- javax.inject:javax.inject:jar:1:compile
[INFO] +- com.github.prominence:openweathermap-api:jar:1.2:compile
[INFO] |  \- com.alibaba:fastjson:jar:1.2.44:compile
[INFO] +- org.projectlombok:lombok:jar:1.18.12:compile
[INFO] +- com.sap.cloud.s4hana.datamodel:odata-api:jar:2.9.1:compile
[INFO] |  +- com.sap.cloud.s4hana:connectivity:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.cloudplatform:core:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.cloudplatform:auditlog:jar:2.9.1:compile
[INFO] |  |  |  \- com.sap.cloud.s4hana.cloudplatform:tenant:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.cloudplatform:caching:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.cloudplatform:connectivity:jar:2.9.1:compile
[INFO] |  |  |  \- com.sap.cloud.s4hana.quality:common:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.cloudplatform:servlet:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.cloudplatform:security:jar:2.9.1:compile
[INFO] |  |  +- com.sap.cloud.s4hana.frameworks:hystrix:jar:2.9.1:compile
[INFO] |  |  |  +- commons-configuration:commons-configuration:jar:1.10:compile
[INFO] |  |  |  |  \- commons-lang:commons-lang:jar:2.6:compile
[INFO] |  |  |  \- com.netflix.archaius:archaius-core:jar:0.7.6:compile
[INFO] |  |  +- com.sap.cloud.s4hana:core:jar:2.9.1:compile
[INFO] |  |  \- com.netflix.hystrix:hystrix-core:jar:1.5.18:compile
[INFO] |  |     +- io.reactivex:rxjava:jar:1.3.8:compile
[INFO] |  |     \- org.hdrhistogram:HdrHistogram:jar:2.1.9:compile
[INFO] |  +- com.sap.cloud.s4hana.datamodel:odata-core:jar:2.9.1:compile
[INFO] |  +- com.sap.cloud.s4hana:fluent-result:jar:2.9.1:compile
[INFO] |  +- com.sap.cloud.servicesdk:odatav2-connectivity:jar:1.24.0:compile
[INFO] |  |  \- com.sap.cloud.servicesdk:jacksonutil:jar:1.24.0:compile
[INFO] |  +- com.sap.cloud.servicesdk:odata-v2-lib:jar:1.39.0:compile
[INFO] |  |  \- com.sap.cloud.servicesdk:developer_license:jar:1.39.0:compile
[INFO] |  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
[INFO] |  +- com.google.guava:guava:jar:29.0-jre:compile
[INFO] |  |  +- com.google.guava:failureaccess:jar:1.0.1:compile
[INFO] |  |  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
[INFO] |  |  +- org.checkerframework:checker-qual:jar:2.11.1:compile
[INFO] |  |  \- com.google.j2objc:j2objc-annotations:jar:1.3:compile
[INFO] |  +- com.google.code.gson:gson:jar:2.8.6:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.0:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.0:compile
[INFO] |  \- org.apache.httpcomponents:httpclient:jar:4.5.12:compile
[INFO] |     \- commons-codec:commons-codec:jar:1.14:compile
[INFO] \- com.h2database:h2:jar:1.4.200:runtime

Solution

  • Please find the outdated dependency in your dependency tree:

    com.sap.cloud.s4hana.datamodel:odata-api:jar:2.9.1:compile
    

    I think you could remove this dependency altogether, when not accessing the types directly.

    Or switch to the successor:

    com.sap.cloud.sdk.datamodel:odata-core:3.23.0:compile
    

    For more information on updating the SDK from 2 to 3, please find the page on Maven Dependencies. It's part of the official SAP Cloud SDK documentation.