【发布时间】:2021-12-07 06:03:34
【问题描述】:
我正在使用 Gitlab 构建一个使用 ant 的 Java 工具
该工具需要 JDK 17,但是ant JDK 版本是 11,我正在尝试更改它。
所以我尝试了很多使用远程存储库或远程下载站点的解决方案,但经过一些尝试后我发现用于构建该工具的 VM 未连接到互联网(尝试 ping google 或我的 IP 地址不起作用) .
所以我尝试将 JDK 17 (openjdk-17_linux-x64_bin.tar.gz) 与工具源代码一起上传到同一个包中并安装在那里。
这就是问题所在,我不知道该怎么做,因为我不使用 linux,但我几乎尝试了互联网上的所有内容。
这些命令中的每一个都在 .gitlab-ci.yml 文件中使用,用于 gitlab 管道。
以下是我迄今为止尝试过的一些示例:
- sudo cp /builds/project/openjdk-17_linux-x64_bin.tar.gz /usr/lib/jvm
- sudo tar zxvf "/usr/lib/jvm/openjdk-17_linux-x64_bin.tar.gz" -C /usr/lib/jvm
- echo "JAVA_HOME=/usr/lib/jvm/jdk-17" | sudo tee -a /etc/profile
- echo "PATH=${PATH}:${HOME}/bin:${JAVA_HOME}/bin" | sudo tee -a /etc/profile
- echo "export JAVA_HOME" | sudo tee -a /etc/profile
- echo "export JRE_HOME" | sudo tee -a /etc/profile
- echo "export PATH" | sudo tee -a /etc/profile
- sudo cat /etc/profile
- echo "JAVA_HOME=/usr/lib/jvm/jdk-17" | sudo tee -a /.bashrc
- echo "PATH=${PATH}:${JAVA_HOME}/bin" | sudo tee -a /.bashrc
- echo "JAVA_HOME='/usr/lib/jvm/jdk-17' | sudo tee -a /etc/environment"
- export JAVA_HOME=/usr/lib/jvm/jdk-17
- export PATH=$PATH:$JAVA_HOME/bin
经过这些命令的大量组合后,sudo update-alternatives --config java 的输出仍然是:
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2deb10u1, mixed mode, sharing)
但如果我尝试/usr/lib/jvm/jdk-17/bin/java -version,它会打印出17。
将默认 Java 版本设置为 17 的解决方案是什么。(对于 ant 使用 JDK-17 而不安装它的解决方案也很好,因为我需要 JDK-17 用于ant)
【问题讨论】:
-
你不是在 docker 镜像中运行吗?能换个图吗?
-
Using Docker executor with image organizationwebpage/ccp/vm:stable ...这就是它所说的,所以我想您是对的,但我不知道如何更改图像。 -
是内部图片吗?你能和那些成功的人谈谈吗?
-
我不知道它是什么类型的图像,我不知道在哪里可以看到有关它的详细信息,并且确定它是否不是由团队中的某个人管理的(并且不是)我联系不上他们
-
创建一个新图像(可能基于您拥有的)并将其推送到 gitlab 信任的存储库,然后修改您的 gitlab yml