gpt4 book ai didi

java - sdkman 如何以非交互式方式安装最新的 Java 版本?

转载 作者:行者123 更新时间:2023-12-04 17:29:52 27 4
gpt4 key购买 nike

在我们的 CI/CD 环境中,我们有一对 docker 镜像和 sdkman 预装的 java。但是有一个小问题,版本号经常变化,我们的 docker build 因为缺少包版本而失败。例如。:

sdk install java 8.0.232-zulu

Stop! java 8.0.232-zulu is not available. Possible causes:
* 8.0.232-zulu is an invalid version
* java binaries are incompatible with Linux64
* java has not been released yet

是否有任何选项可以在特定的“ flavor ”和版本中以非交互式方式安装最新的 Java?

就像是:
sdk install java 8-zulu-latest

附注。现在,作为(丑陋的)解决方法,我们使用
sdk install java $(sdk list java | grep -e 8\.0\..*-zulu[^fx] | sed -r s/^.*8/8/)

最佳答案

一种方法是不依赖 SDKMAN!。
由于您处于 docker 环境下,因此最好将图像大小保持在最小。
下面是在 alpine 下安装最新 zulu JDK 的示例:


FROM alpine as base

# install zulu jdk
RUN apk --update --no-cache add curl \
&& curl https://cdn.azul.com/public_keys/alpine-signing@azul.com-5d5dc44c.rsa.pub > /etc/apk/keys/alpine-signing@azul.com-5d5dc44c.rsa.pub \
&& echo "https://repos.azul.com/zulu/alpine" >> /etc/apk/repositories \
&& apk --update --no-cache add zulu8-jdk \
&& apk del curl

这将下载 curl、产品签名 key 并将 zulu alpine 存储库添加到 apk 存储库列表、安装最新可用的 zulu8-jdk 并删除 curl。
请注意,您还可以替换名称中的 JDK 版本。
例如,使用 zulu11-jdk 来安装 JDK 11。
一些有用的 zulu 安装引用:
https://docs.azul.com/zulu/zuludocs/ZuluUserGuide/InstallingZulu/InstallOnLinuxUsingAPKRepository.htm
https://docs.azul.com/zulu/zuludocs/ZuluUserGuide/PrepareZuluPlatform/AttachAPKRepositoryAlpineLinux.htm

关于java - sdkman 如何以非交互式方式安装最新的 Java 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60742180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com