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