This project contains a downstream version of the OpenJDK project. It is used to build and maintain a SAP supported version of OpenJDK for SAP customers who wish to use OpenJDK in their production environments.
We want to stress the fact that this is clearly a friendly fork. One reason why we need this project is the need to quickly react on customer problems with new and fixed versions without having to wait on the upstream project or other distributors/packagers. The second reason for the existence of this project is to showcase and bring over features from our commercially licensed, closed source SAP JVM into the OpenJDK which can not be integrated upstream in the short-term.
SAP is committed to ensuring the continued success of the Java platform. We are members of the JCP Executive committee since 2001 and recently served in the JSR 379 (Java SE 9) and JSR 383 (Java SE 18.3) Expert Groups. SAP is also one of the biggest external contributors to the OpenJDK project (currently leading the PowerPC/AIX and s390 porting projects) and will remain fully committed to the OpenJDK. Our intention is to bring as many features as possible into the upstream project and keep the diff of this project as small as possible.
We have a Wiki with various information about:
- Supported Platforms
- Differences between SapMachine and OpenJDK
- Features Contributed by SAP
- SapMachine Development Process
You can check for all available releases (including nightly snapshots).
The latest release for any SapMachine major version can be found at
https://sap.github.io/SapMachine/latest/#MAJOR (e.g. SapMachine 11).
Unpack the archives and set
PATH environment variables accordingly.
If you want to build the project yourself, please follow the instructions in
Alternatively, you can use our
.deb packages if you’re on Debian or Ubuntu:
sudo bash wget -q -O - https://dist.sapmachine.io/debian/sapmachine.key | apt-key add - echo "deb http://dist.sapmachine.io/debian/amd64/ ./" >> /etc/apt/sources.list apt-get update apt-get install sapmachine-11-jre
Finally, we also provide Docker images for various versions of the SapMachine.
docker pull sapmachine/jdk11:latest docker run -it sapmachine/jdk11:latest java -version
This repository contains several branches. The default master branch only contains this README file. The jdk/… branches are direct mirrors of the corresponding OpenJDK Mercurial repositories (e.g. the jdk/jdk branch is a mirror of http://hg.openjdk.java.net/jdk/jdk). Finally, the sapmachine/… branches are the actual source of the SapMachine releases with specific bug fixes and enhancements. We regularly (usually on a weekly base) merge the jdk/ branches into the corresponding sapmachine/ branches.
Please create a new issue if you find any problems.
We currently do not accept external contributions for this project. If you want to improve the code or fix a bug please consider contributing directly to the upstream OpenJDK project. Our repositories will be regularly synced with the upstream project so any improvements in the upstream OpenJDK project will directly become visible in our project as well.
This project is run under the same licensing terms as the upstream OpenJDK project. Please see the LICENSE file in the top-level directory for more information.