SAP Java Buildpack 1 has been deprecated and is going to be removed from SAP BTP, Cloud Foundry environment on December 31, 2025.
SAP Java Buildpack 2 has been generally available (GA) since March 2024. It provides support for the latest versions of Java (17 and 21), Tomcat 10.1, and TomEE 10.0.
SAP Java Buildpack 1, on the other hand, supports older versions of Java (8, 11), Tomcat 9, and an SAP-patched version of TomEE 7 (which reached EoL in March 2021). SapMachine 11 has also reached EoL – in December 2024.
Our goal is to focus our efforts on delivering highly-requested new features, reducing technical debt, and boosting product quality and security. As a result, SAP Java Buildpack 1 has been deprecated and technical support for it will be provided until October 1, 2025.
For more information, see SAP Java Buildpack 2: Jakarta-Based, Fresh and New!
If you have applications running on
sap_java_buildpack, you need to migrate them tosap_java_buildpack_jakartaas soon as possible.
To check which buildpack your Java applications are currently using, proceed as follows:
-
Log in to Cloud Foundry by choosing your SAP BTP region. For example, if your region is eu10, run:
cf api https://api.cf.eu10.hana.ondemand.com -
Enter your credentials and choose your Cloud Foundry subaccount and space.
-
Find out the ID of your space as you'll need it for the next step. Run:
cf space <space_name> --guid -
To check which applications use SAP Java Buildpack 1, run:
-
For Windows systems:
cf curl "/v2/spaces/<space_id>/apps" | jq ".resources[] | select(.entity.buildpack == \"sap_java_buildpack\") | .entity.name" -
For Linux and macOS systems:
cf curl "/v3/apps?space_guids=<space_id>" | jq '.resources[] | select(.lifecycle.data.buildpacks | index("sap_java_buildpack")) | .name'
-
-
To check which applications use SAP Java Buildpack 2, run:
-
For Windows systems:
cf curl "/v2/spaces/<space_id>/apps" | jq ".resources[] | select(.entity.buildpack == \"sap_java_buildpack_jakarta\") | .entity.name" -
For Linux and macOS systems:
cf curl "/v3/apps?space_guids=<space_id>" | jq '.resources[] | select(.lifecycle.data.buildpacks | index("sap_java_buildpack_jakarta")) | .name'
-
If your applications are compiled with Java 8, they should run successfully on any later version as Java versions are backward compatible. The only exception would be if your apps are using internal or undocumented Java APIs that have been removed or changed. Otherwise, your applications should be running fine and no extra effort from your side is required.
Still, we recommend that you thoroughly test your application scenarios with the new Java version (17 or 21).
If your applications or their dependencies are using former Java EE javax.* packages, you need to migrate them to Jakarta EE jakarta.* ones. You can do that by using any of the community tools available to run the migration. For example:
If your applications are based on TomEE 7, you need to migrate them to TomEE 10. To do that, in yourmanifest.yml file, replace tomee7 with just tomee. After the change, your manifest configuration should look like this:
---
applications:
- name: <APP_NAME>
buildpacks:
- sap_java_buildpack_jakarta
...
env:
TARGET_RUNTIME: tomee
JBP_CONFIG_RESOURCE_CONFIGURATION: "['tomee/conf/server.xml': {'connector.maxHttpHeaderSize':1024}]"
...
NOTE: There are some differences between TomEE WebProfile and TomEE Plume distribution, that might affect your applications. For example, you may need to increase the memory settings of your apps. See also: Apache TomEE: Comparison
If you have multi-target applications (MTA), you need to adjust all modules with the relevant types:
-
java -
java.tomcat -
java.tomee
MTA deployment descriptors are now using sap_java_buildpack_jakarta as a default buildpack. However, if you have MTA applications with older configuration (using sap_java_buildpack), you need to set the buildpack module parameter to sap_java_buildpack_jakarta, like this:
modules:
- name: myapp
type: java.tomcat
parameters:
buildpack: sap_java_buildpack_jakarta
modules:
- name: myapp
type: java.tomee
parameters:
buildpack: sap_java_buildpack_jakarta
For more information, see MTA Module Types and Module-Specific Parameters.
We plan to support SAP Java Buildpack 1 until December 31, 2025 when it will be removed from SAP BTP, Cloud Foundry environment. Applications that haven't been migrated to SAP Java Buildpack 2 by then might continue to run but will get an error when being restaged or redeployed.
In 2025, new releases for SAP Java Buildpack 1 will be made only for critical security updates and bug fixes.
Related Information