
Состоялся релиз Axiom 8u282, 11.0.10 и 15.0.2
Январь 21, 2021
В январе БЕЛЛСОФТ выпустила новые версии своей среды исполнения Java: 8u282, 11.0.10 и 15.0.2. Всего в этом релизе была исправлена 401 ошибка (139 пришлось на счёт JDK 8, 200 — JDK 11, 62 — текущей JDK 15). Обновление включает в себя несколько свежих функций, отобранных инженерами компании согласно направлениям развития IT-индустрии.
1. Поддержка Apple Silicon
Все новые сборки Liberica JDK (с 2022 года - Axiom JDK) 8, 11 и 15 нативно работают на устройствах Apple с процессорами M1. Это стало возможно в том числе благодаря поддержке AxiomFX в LTS-версии JDK 11 под системы с 64-битной архитектурой ARM (AArch64), которую мы реализовали в июле 2020 года. Теперь владельцы Mac и Macbook, перешедшие на фирменные чипы Apple Silicon, смогут в полном объёме использовать возможности JavaFX в Liberica JDK Full — включая модули Graphics, Controls, Media и Webkit — для создания сложных визуальных интерфейсов.
Работа функций JVM с Apple M1 в рамках данного релиза: В рамках данного релиза поддерживаются следующие функции JVM: все сборщики мусора, JIT-компиляторы C1 и C2. Не поддерживаются: компилятор Graal JIT, AOT-компиляция, Class Data Sharing.
2. Уменьшенные образы JDK в раннем доступе
В одной из следующих статей мы расскажем, как инженеры БЕЛЛСОФТ создают крошечные образы Liberica JDK и JRE для облачных окружений и микросервисов. А уже сегодня вы можете скачать сборки раннего доступа с образами, уменьшенными ещё на 3–6 MB, до 15%. Таким образом, мы продолжаем сокращать размеры Docker-контейнеров с нашей средой исполнения Java, что означает более эффективное развёртывание приложений и дополнительную экономию времени и средств.
Готовые сборки Liberica JDK EA Lite доступны по следующим ссылкам:
Name | Size (MB) | SHA1 |
---|---|---|
JDK 11.0.10+10 EA Linux x86 Lite DEB | 66.8 | 1407bf71325383afd3ccda8ee30e79454c943358 |
JDK 11.0.10+10 EA Linux x86 Lite RPM | 68 | ade756f0e0e4e9267e8bee7033f5565ef2f53df7 |
JDK 11.0.10+10 EA Linux x86 Lite TAR.GZ | 70.8 | f0135fc028a7085681d3aadf23b0a9c79169e9de |
JDK 11.0.10+10 EA Linux ARM Lite DEB | 66 | 8182fd5d7878528e73d37e62e1d2478d56bb97b7 |
JDK 11.0.10+10 EA Linux ARM Lite RPM | 67.4 | d1fbca79c317a4a0789d2997e7ec2fc7f7ad391f |
JDK 11.0.10+10 EA Linux ARM Lite TAR.GZ | 70.4 | 60f01b991ce6a2c63f354763ffba11a95e387eb9 |
JDK 11.0.10+10 EA Alpine Linux ARM (musl) Lite APK | 69.1 | 4cb9aa8cccfba4f55a70c5f2fb33a625ac244d51 |
JDK 11.0.10+10 EA Linux ARM (musl) Lite TAR.GZ | 70 | c00dd67f9c409254b35b9f2abcf7b19ebb785464 |
JDK 11.0.10+10 EA Alpine Linux x86 (musl) Lite APK | 69.5 | 86adea0b0a959da738ba207c5f5142b8cecec2a1 |
JDK 11.0.10+10 EA Linux x86 (musl) Lite TAR.GZ | 70.5 | 2dc43d1d14406d3a422ff72f23512a11e9c0f897 |
Name | Size (MB) | SHA1 |
---|---|---|
JDK 15.0.2+9 EA Linux x86 Lite DEB | 67.4 | cc6c7b60d4d06c807eda46bdeda6da5f603ee711 |
JDK 15.0.2+9 EA Linux x86 Lite RPM | 68.7 | 3650759c7524d5c5833c76e8014d13980f748fd2 |
JDK 15.0.2+9 EA Linux x86 Lite TAR.GZ | 71.1 | 5240d851a980c5d6572dac08c8bd155f170714fb |
JDK 15.0.2+9 EA Alpine Linux x86 (musl) Lite APK | 70.1 | c9ad505a10eca36830bd086ebb922ebeacdbc512 |
JDK 15.0.2+9 EA Linux x86 (musl) Lite TAR.GZ | 71 | a03f81fbf17a1d27fb4fcd2bfaf594aede6b8a2a |
JDK 15.0.2+9 EA Linux ARM Lite DEB | 66.8 | 66f332f395a62cade6e12df996ab0534372f3d84 |
JDK 15.0.2+9 EA Linux ARM Lite RPM | 68.2 | 44d76a4adb7b6e44d9dd59e372ee4e32850c5ff8 |
JDK 15.0.2+9 EA Linux ARM Lite TAR.GZ | 70.8 | e2dbff3d98137064b9d93cf6bbaa7eec27669bd5 |
JDK 15.0.2+9 EA Alpine Linux ARM (musl) Lite APK | 69.9 | e27ab35b48530e483a17a9faf65e19a210793d9e |
JDK 15.0.2+9 EA Linux ARM (musl) Lite TAR.GZ | 70.8 | c2f92bc87d3d0953f3f9eb409ca4ef6de74dd344 |
Бинарные файлы Liberica JDK EA, которые можно использовать для создания рантайма с произвольным набором модулей при помощи jlink
, доступны по ссылкам ниже:
Name | Size (MB) | SHA1 |
---|---|---|
JDK 11.0.10+10 EA Linux x86 DEB | 156.1 | 39fa6a91d82bbe400231a08bd803a9356bd49a0e |
JDK 11.0.10+10 EA Linux x86 RPM | 162.7 | 584418f982acdf769490fbef0b331d8e82943077 |
JDK 11.0.10+10 EA Linux x86 TAR.GZ | 181.3 | fe9ea1d8205ce2f97fc9ecef250e368c04bd3e88 |
JDK 11.0.10+10 EA Linux ARM DEB | 163 | 6975ad025cbd45abbfadffdf148bab1274071113 |
JDK 11.0.10+10 EA Linux ARM RPM | 170 | 435fa09411e6440015783dae5f0e46910ff1ce20 |
JDK 11.0.10+10 EA Linux ARM TAR.GZ | 189.7 | 884895c6119ee42e22b46ee19365bcf9d7bed6f9 |
JDK 11.0.10+10 EA Alpine Linux ARM (musl) APK | 178.7 | 7fed224f6e7146a9c7144c63c2e387457fc4c968 |
JDK 11.0.10+10 EA Linux ARM (musl) TAR.GZ | 179.8 | 5516161846ef020525eb7ba29384fecce3438594 |
JDK 11.0.10+10 EA Alpine Linux x86 (musl) APK | 179.5 | 67dc4c1ca1460bef475dd279c4bb3617c1777010 |
JDK 11.0.10+10 EA Linux x86 (musl) TAR.GZ | 180.7 | 3d648000304deb723e7df47ccb7534454663a0e1 |
Name | Size (MB) | SHA1 |
---|---|---|
JDK 15.0.2+9 EA Linux x86 DEB | 162.3 | 31afc5b8d820a8b4287f410800bc9eda0a64976f |
JDK 15.0.2+9 EA Linux x86 RPM | 169.2 | 44baf15d62941cffba36bcba9a7d2cd2480635df |
JDK 15.0.2+9 EA Linux x86 TAR.GZ | 188.1 | 4b7fdaa787093b2d65c36f14d8a4d322dbe41438 |
JDK 15.0.2+9 EA Alpine Linux x86 (musl) APK | 186.7 | 5a4e4733e9465e9cda8d9e1c97e437554c72229a |
JDK 15.0.2+9 EA Linux x86 (musl) TAR.GZ | 187.9 | aee25e1920478da70a746e79c18124de0b4e551f |
JDK 15.0.2+9 EA Linux ARM DEB | 164.3 | 508c97fcf4fe1a32cb1f62471db5cfcf9cf59f9f |
JDK 15.0.2+9 EA Linux ARM RPM | 170.9 | 5141800c6338f504871651ed28104c5e3478ca7d |
JDK 15.0.2+9 EA Linux ARM TAR.GZ | 189.5 | 6e1bda2e72cd854ae105cb2760217f3716822e83 |
JDK 15.0.2+9 EA Alpine Linux ARM (musl) APK | 186.3 | 406472cd1b0a28ccc1ab1e4f15c8c00b5222fdf2 |
JDK 15.0.2+9 EA Linux ARM (musl) TAR.GZ | 187.6 | fac727ced22814dfbe0dc32885591b1412dcf033 |
Инструкция по сборке Docker-образа с этими файлами:
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM alpine:3.11
ENV LIBERICA_VERSION=11.0.10+10-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-x64-musl.tar.gz
ENV LIBERICA_SHA=e621f4115f6d357b31b1b8888c42329c2c78d575e9e24ddbe8c2162a8caf5874
ENV LIBERICA_HOME=/opt/bellsoft/jdk
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
RUN set -o errexit -o nounset \
&& apk add --no-cache binutils \
&& wget --no-verbose --output-document=jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p /tmp/jdk \
&& tar xf jdk.tar.gz -C /tmp/jdk --strip-components=1 \
&& rm jdk.tar.gz \
&& /tmp/jdk/bin/jlink \
--add-modules java.base \
--compress=2 \
--no-header-files \
--no-man-pages \
--module-path /tmp/jdk/jmods \
--output "$LIBERICA_HOME" \
&& rm -rf /tmp/jdk \
&& apk del binutils \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM alpine:3.11
ENV LIBERICA_VERSION=15.0.2+9-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-x64-musl-lite.tar.gz
ENV LIBERICA_SHA=bfe8442c00af5aedca50b3b7c303e7910b08dd4a90418dc653deb3ee849ac16d
ENV LIBERICA_HOME=/opt/bellsoft/jdk
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
RUN set -o errexit -o nounset \
&& wget --no-verbose --output-document=jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p "$LIBERICA_HOME" \
&& tar xf jdk.tar.gz -C "$LIBERICA_HOME" --strip-components=1 \
&& rm jdk.tar.gz \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM debian:9
ENV LIBERICA_VERSION=11.0.10+10-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-amd64-lite.tar.gz
ENV LIBERICA_SHA=4f362dd78b00cc077d770dfa5331cb0ae7d6ed124f8a73dea560a1dee0793606
ENV LIBERICA_HOME=/opt/bellsoft/jdk
RUN set -o errexit -o nounset \
&& apt-get update \
&& apt-get install --yes --no-install-recommends \
ca-certificates \
curl \
fontconfig \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN set -o errexit -o nounset \
&& curl --fail --location --silent --show-error --output jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p "$LIBERICA_HOME" \
&& tar xf jdk.tar.gz -C "$LIBERICA_HOME" --strip-components=1 \
&& rm jdk.tar.gz \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM centos:7
ENV LIBERICA_VERSION=11.0.10+10-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-amd64-lite.tar.gz
ENV LIBERICA_SHA=4f362dd78b00cc077d770dfa5331cb0ae7d6ed124f8a73dea560a1dee0793606
ENV LIBERICA_HOME=/opt/bellsoft/jdk
RUN set -o errexit -o nounset \
&& yum install --assumeyes \
ca-certificates \
curl \
fontconfig \
&& yum clean all \
&& rm -rf /var/cache/yum \
&& rm -rf /var/lib/rpm/__db* \
&& rpm --rebuilddb
RUN set -o errexit -o nounset \
&& curl --fail --location --silent --show-error --output jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p "$LIBERICA_HOME" \
&& tar xf jdk.tar.gz -C "$LIBERICA_HOME" --strip-components=1 \
&& rm jdk.tar.gz \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM alpine:3.11
ENV LIBERICA_VERSION=15.0.2+9-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-x64-musl.tar.gz
ENV LIBERICA_SHA=f3ec12fb99db98f2f779565c8bdf72c2eb2f4343829fb942df943e5f97037b82
ENV LIBERICA_HOME=/opt/bellsoft/jdk
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
RUN set -o errexit -o nounset \
&& apk add --no-cache binutils \
&& wget --no-verbose --output-document=jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p /tmp/jdk \
&& tar xf jdk.tar.gz -C /tmp/jdk --strip-components=1 \
&& rm jdk.tar.gz \
&& /tmp/jdk/bin/jlink \
--add-modules java.base \
--compress=2 \
--no-header-files \
--no-man-pages \
--module-path /tmp/jdk/jmods \
--output "$LIBERICA_HOME" \
&& rm -rf /tmp/jdk \
&& apk del binutils \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM alpine:3.11
ENV LIBERICA_VERSION=15.0.2+9-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-x64-musl-lite.tar.gz
ENV LIBERICA_SHA=bfe8442c00af5aedca50b3b7c303e7910b08dd4a90418dc653deb3ee849ac16d
ENV LIBERICA_HOME=/opt/bellsoft/jdk
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
RUN set -o errexit -o nounset \
&& wget --no-verbose --output-document=jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p "$LIBERICA_HOME" \
&& tar xf jdk.tar.gz -C "$LIBERICA_HOME" --strip-components=1 \
&& rm jdk.tar.gz \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM debian:9
ENV LIBERICA_VERSION=15.0.2+9-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-amd64-lite.tar.gz
ENV LIBERICA_SHA=4a14d02788566810af0753de28c6ff42514f45f592ad38bd69a79869a684e920
ENV LIBERICA_HOME=/opt/bellsoft/jdk
RUN set -o errexit -o nounset \
&& apt-get update \
&& apt-get install --yes --no-install-recommends \
ca-certificates \
curl \
fontconfig \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN set -o errexit -o nounset \
&& curl --fail --location --silent --show-error --output jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p "$LIBERICA_HOME" \
&& tar xf jdk.tar.gz -C "$LIBERICA_HOME" --strip-components=1 \
&& rm jdk.tar.gz \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
1. Создайте новую папку и перейдите в неё командой cd
.
2. Создайте файл Dockerfile
и вставьте код:
FROM centos:7
ENV LIBERICA_VERSION=15.0.2+9-ea
ENV LIBERICA_URL=https://download.bell-sw.com/java-ea/$LIBERICA_VERSION/bellsoft-jdk${LIBERICA_VERSION}-linux-amd64-lite.tar.gz
ENV LIBERICA_SHA=4a14d02788566810af0753de28c6ff42514f45f592ad38bd69a79869a684e920
ENV LIBERICA_HOME=/opt/bellsoft/jdk
RUN set -o errexit -o nounset \
&& yum install --assumeyes \
ca-certificates \
curl \
fontconfig \
&& yum clean all \
&& rm -rf /var/cache/yum \
&& rm -rf /var/lib/rpm/__db* \
&& rpm --rebuilddb
RUN set -o errexit -o nounset \
&& curl --fail --location --silent --show-error --output jdk.tar.gz "$LIBERICA_URL" \
&& echo "$LIBERICA_SHA *jdk.tar.gz" | sha256sum -c - \
&& mkdir -p "$LIBERICA_HOME" \
&& tar xf jdk.tar.gz -C "$LIBERICA_HOME" --strip-components=1 \
&& rm jdk.tar.gz \
&& "$LIBERICA_HOME/bin/java" -version
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV JAVA_HOME=$LIBERICA_HOME
ENV PATH=$LIBERICA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
CMD ["java", "-version"]
3. Соберите образ: docker build . -t name:tag
4. Запустите образ: docker run --rm name:tag
3. Новая комбинация архитектуры и операционной системы
Архитектура ARM становится всё более популярной среди разработчиков. Мы не можем оставаться в стороне, поэтому в этом релизе расширяем поддержку Alpine Linux на AArch64, вдобавок к Intel x86.
4. Инсталлеры и репозиторий Axiom для Alpine Linux (Intel и AArch64)
Ранее Liberica JDK и JRE для дистрибутивов Linux были доступны только для скачивания в виде архивов TAR.GZ с цифровой подписью, файлов DEB или RPM. Теперь же вы можете установить любую сборку под Alpine Linux при помощи стандартной процедуры apk add <axiom package>
по нашей инструкции.
Используйте следующие команды, чтобы добавить официальный репозиторий Alpine Linux от БЕЛЛСОФТ:
# add our repository
echo "https://apk.bell-sw.com/main" | sudo tee -a /etc/apk/repositories
# add our official signing key
sudo wget -P /etc/apk/keys/ https://apk.bell-sw.com/info@axiomjdk.ru-5fea454e.rsa.pub
Установите Liberica JDK/JRE простой командой:
sudo apk add bellsoft-java8
Также можно воспользоваться busybox wget
и получить файлы непосредственно с сайта БЕЛЛСОФТ. Сперва найдите нужную сборку в разделе Скачать. Скопируйте URL и вставьте его в командную строку:
wget https://download.bell-sw.com/java-ea/15.0.2+9-ea/bellsoft-jdk15.0.2+9-ea-linux-aarch64-musl-lite.apk
Затем установите скачанный пакет на устройство:
sudo apk add --allow-untrusted bellsoft-jdk15.0.2+9-ea-linux-aarch64-musl-lite.apk
Опцию --allow-untrusted
можно исключить, если вы уже добавили наш официальный подписанный ключ, как было описано выше.
Мы всегда стремимся улучшать наши продукты, расширяя их функционал. Инженеры БЕЛЛСОФТ прислушиваются к нуждам OpenJDK коммьюнити, нашему главному источнику идей. В результате, с каждым релизом Liberica JDK становится всё удобнее для решения повседневных и неординарных задач.
Все сборки доступны для скачивания на нашем сайте.