Были обсуждения в системе отслеживания проблем Travis CI [ 1 ] и слабых клоюрианцев.
Причина в том, что OpenJDK 9 не поставляется с сертификатами, подписавшими клояры.сертификат.
Кристиан Штейн отметил, что Travis CI всегда будет предоставлять неустановленную установку JDK.В случае необходимости пользователю потребуется символическая ссылка на сертификаты ЦС системы ( Исходные слова ).
Решение
Это обновленные минимальные конфигурации Travis CI.
Он включал ручную символическую привязку сертификатов ЦС системы на этапе before_install
.
language: clojure
lein: 2.8.1
jdk:
- openjdk8
- oraclejdk8
- oraclejdk9
matrix:
include:
- jdk: openjdk9
before_install:
- rm "${JAVA_HOME}/lib/security/cacerts"
- ln -s /etc/ssl/certs/java/cacerts "${JAVA_HOME}/lib/security/cacerts"
Другие решения
В качестве альтернативы можно также выполнить установку JDK с настраиваемой матрицей.
Обновления для OpenJDK 10 и 11
Все версии OpenJDK, установленные с jdk_install.sh
от Travis , не исправляют сертификаты.Таким образом, вы столкнетесь с той же проблемой и для OpenJDK 10 и 11.
Вы можете уменьшить шаблон для этих версий SDK с помощью умно расположенного якоря YAML, как в примере ниже.
matrix:
include:
- jdk: openjdk9
before_install: &fix_certs
- rm "${JAVA_HOME}/lib/security/cacerts"
- ln -s /etc/ssl/certs/java/cacerts "${JAVA_HOME}/lib/security/cacerts"
- jdk: openjdk10
before_install: *fix_certs
- jdk: openjdk11
before_install: *fix_certs