The new version of the SAP S/4HANA Cloud SDK Java libraries is available since today. You can update your dependencies to version 2.10.0 and consume the new version from Maven Central.
In this blog post, we will walk you through the highlights of this release. For a complete overview, visit our release notes for the Java libraries. The release notes also include the change log of all our releases so far.
At the end of the article, you will find a set of instructions on how to update to the new version.
Java Libraries: Release Highlights
Handling of new API versions
The Java virtual data model for accessing SAP S/4HANA Cloud APIs now supports both versions of the Bill of Materials API. In the latest release 1811 of SAP S/4HANA Cloud, a new version 2 of this API was introduced with incompatible changes, while the old version remains available as well. At that time, the SDK replaced the previously existing VDM with the classes that represent the new service version. With version 2.10.0 of the SDK, we re-introduce the VDM representation for the old version in addition to the new version. To this end, the service class and package for the new API version 2 have been renamed. The newer version 2 is available as
BillOfMaterialsV2Service. The previous version 1 is available as
In the future, we will represent new versions of APIs from the beginning in a similar manner. That is, subsequent new versions (with incompatible changes) will be represented as new VDM services (suffixed with the version number). As before, compatible changes to existing APIs that are no new version in the SAP API Business Hub will simply be reflected by corresponding compatible changes to the Java representations in the VDM.
The Cloud Platform user abstractions now return String-typed user attributes as instances of
StringUserAttribute instead of
SimpleUserAttribute<String> on SAP Cloud Platform Neo, and as
StringCollectionUserAttribute instead of
CollectionUserAttribute<String> on Cloud Foundry to allow more convenient consumption.
We have enhanced the
ForEachSystemRule utility for integration tests to support the notion of fallback systems. These are systems for which the tests are executed (in-order) after the test failed with the first configured system. A test is considered successful if it succeeds with at least one of the specified systems.
Version 2.10.0 fixes an issue with projects created by the
scp-cf-tomee archetype where TomEE would not start because of a conflict with the default shutdown port 8005 on Windows. Now, shutdown port 8006 is explicitly specified in
This version also fixes an issue with projects generated by the
scp-cf-tomcat archetype where integration tests failed when run from an IDE because of a missing port configuration for arquillian. Now, a default port 9090 is defined in
arquillian.xml which takes effect unless a system property
arquillian.httpPort is passed to the test runner. Please note that in IntelliJ you still need to disable passing
systemPropertyVariables to JUnit in
File | Settings | Build, Execution, Deployment | Build Tools | Maven | Running Tests or pass
We have fixed an issue where the XSUAA service instance credentials could not be found for a given JWT when using multiple XSUAA instances along with the broker plan of XSUAA.
Several further improvements are listed in the full release notes.
How to Update
To update the version of the SAP S/4HANA Cloud SDK Java libraries used in an existing project, proceed as follows:
- Open the pom.xml file in the root folder of your project.
- Locate the dependency management section and therein the
- Update the version of that dependency to
With this, you are already done thanks to the “bill of material” (BOM) approach. Your dependency should look like this:
<dependencyManagement> <dependencies> <dependency> <groupId>com.sap.cloud.s4hana</groupId> <artifactId>sdk-bom</artifactId> <version>2.10.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> <!-- possibly further managed dependencies ... --> </dependencyManagement>
You can now recompile your project (be aware of the compatibility notes, though) and leverage the new features of the SAP S/4HANA Cloud SDK in version 2.10.0.