在Jenkins的Docker版本中使用OpenJDK 12

3

我尝试使用 *.tar.gz 安装程序在 Jenkins 中安装 OpenJDK 12,但是出现了错误 Cannot run program "/bin/java"

JAVA_HOME=/var/jenkins_home/tools/hudson.model.JDK/java12

注意:我自己创建了目录"hudson.model.JDK"。

这是工具配置 enter image description here

完整的错误日志 enter image description here

3个回答

3

JDK Tool Plugin 在 Jenkins 中仅支持自动下载 Java SDK 1.9 版本及以下的版本,因此我将写下我自己的过程来配置 OpenJDK-11(我正在使用这个特定版本,但也可以使用其他版本)在运行在 Docker 容器中的 Jenkins 中:

  1. 使用SSH服务登录托管Docker容器的主机服务器。
  2. 使用命令 docker ps 检查正在运行的容器。
  3. 使用命令(在我的情况下,容器名称为“jenkins”)docker exec -it containerName /bin/bash 进入Jenkins容器。
  4. 下载OpenJDK 11:cd /usr/local && wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
  5. 解压已下载的文件:tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz
  6. 现在您将在 /usr/local 下拥有一个名为“jdk-11”的文件夹。
  7. 进入Jenkins中的全局工具配置,并设置SDK配置,如所示的图像:

enter image description here

现在您可以在Jenkins构建中使用标签“Java SE 11”来使用不同版本的Java SDK。

2
JDK 12存在一个已记录的错误 https://bugs.openjdk.java.net/browse/JDK-6746185。根据此错误,格式不正确的URL是无效的,所以Jenkins无法下载JDK。

简单的解决方法是从此链接下载JDk或其他你喜欢的版本,并像我一样将Open JDK添加到Jenkins中。

https://download.java.net/java/GA/jdk12.0.1/69cfe15208a647278a19ef0990eea691/12/GPL/openjdk-12.0.1_linux-x64_bin.tar.gz

下载JDK并将其提取到一个文件夹中。

管理Jenkins> 全局配置> 添加JDK>
1. 名称:Open JDK(或任何你想要的名称) 2. JAVA_HOME:\Open_JDK\

就像在我的情况下 E:\Open_JDK\openjdk-11.0.2_windows-x64_bin\jdk-11.0.2

enter image description here

在Jenkins中

enter image description here

保存并退出,一切正常运行。

愉快的使用Jenkins,很高兴能帮助到您。


感谢您的解释,但仍然无法正常工作,我收到了 java.io.IOException: Cannot run program "/var/jenkins_home/tools/jdk-12.0.1/bin/java" (in directory "/var/jenkins_home/workspace/coorperate-pom"): error=2, No such file or directory 的错误信息。 - GeoCom
尝试使用OpenJDK 11,可能会出现与JDK12的兼容性问题。 - Dupinder Singh
我尝试了和你完全相同的版本11.0.2,但仍然找不到。 - GeoCom

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接