我在Travis CI中安装openjdk11时遇到问题。
这是我遇到的错误
Installing openjdk11
$ export JAVA_HOME=~/openjdk11
$ export PATH="$JAVA_HOME/bin:$PATH"
$ ~/bin/install-jdk.sh --target "/home/travis/openjdk11" --workspace "/home/travis/.cache/install-jdk" --feature "11" --license "GPL" --cacerts
install-jdk.sh 2019-04-18
The command "~/bin/install-jdk.sh --target "/home/travis/openjdk11" --workspace "/home/travis/.cache/install-jdk" --feature "11" --license "GPL" --cacerts" failed and exited with 51 during .
Your build has been stopped.
.travis.yml
language: java
jdk: openjdk11
cache:
directories:
- "$HOME/.m2/repository"
答案 0 :(得分:6)
这似乎是download.java.net
的TLS证书错误。
download.java.net
公开的当前TLS证书无效:它适用于download.oracle.com
。
51个返回代码是由curl
下载命令返回的。
您可以下载install-jdk.sh
脚本:
curl -o /tmp/install-jdk.sh -L https://raw.githubusercontent.com/sormuras/bach/master/install-jdk.sh
然后运行它:
bash -x /tmp/install-jdk.sh --target "/home/travis/openjdk11" --workspace "/home/travis/.cache/install-jdk" --feature "11" --license "GPL" --cacerts
失败命令是:
curl -o /dev/null --silent --head --write-out '%{http_code}' https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_osx-x64_bin.tar.gz
具有51个返回码
答案 1 :(得分:4)
为避免此问题,请在.travis.yml
配置文件中尝试以下操作:
language: java
dist: xenial
sudo: required
jdk:
- openjdk11
答案 2 :(得分:1)
Oracle可能必须修复其TLS证书,或者Travis最终必须以某种方式对其进行修复。
同时,通过向Travis配置中添加dist: xenial
,我们有些运气,请参阅:https://travis-ci.community/t/install-of-openjdk11-is-failing-again/3061/16
另一种解决方案似乎是在Travis配置的oraclejdk11
列表中添加jdk
。
我不会特别说这些是实际的解决方案,但暂时只是解决方法。