Как заставить установщик SBT с JDK 1.7 всегда использовать протоколы HTTPS, принятые Maven?

2

Были некоторые темы, связанные с тем, что репозитории Maven были изменены на TLS-протоколы, которые по умолчанию не используются JDK 1.7 (см. Https://blog.sonatype.com/enhancing-ssl-security-and-http/2 -support-for-central для получения дополнительной информации).

И теперь невозможно получить доступ к этим репозиториям, используя более старый JDK, например 1.7. По-видимому, мы можем решить это с помощью переменных среды, таких как:

export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2"

Но эта переменная, похоже, игнорируется процессом установки SBT!

В Debian 8.5 я попытался установить SBT 0.13.16, используя следующие команды:

sudo echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt=0.13.16

И это не с ошибками, как:

Server access Error: Received fatal alert: 
protocol_version url=https://repo1.maven.org/maven2/org/scala-sbt/sbt/0.13.16/sbt-0.13.16.pom

Server access Error: Received fatal alert: 
protocol_version url=https://repo1.maven.org/maven2/org/scala-sbt/sbt/0.13.16/sbt-0.13.16.jar

Server access Error: Connection reset 
url=https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt/0.13.16/ivys/ivy.xml

Server access Error: Connection reset 
url=https://repo.scala-sbt.org/scalasbt/ivy-snapshots/org.scala-sbt/sbt/0.13.16/ivys/ivy.xml

Я не могу перейти на новый SBT или JDK, потому что я работаю над старым проектом, который использует некоторые устаревшие функции.

Как правильно установить SBT и как сделать все инструменты (Maven, SBT, Java), чтобы всегда соблюдать настройку https.protocols?

  • 0
    Вы проверяли использовать только -Dhttps.protocols=TLSv1.2 ?
  • 0
    @ khmarbaise Да, все та же ошибка. Но я нашел обходной путь - если позже я запустлю SBT в одиночку, он выберет опции java, загрузит необходимые пакеты Scala и будет работать просто отлично. Кажется, что просто установщик сломан и игнорирует JAVA_TOOL_OPTIONS.
Показать ещё 1 комментарий
Теги:
maven
sbt

1 ответ

0

Я пришел к какому-то обходному пути.

Даже если sbt apt-get не работает, вы по-прежнему можете запустить команду sbt после этого, и на этот раз она подберет настройку JAVA_TOOL_OPTIONS и сможет загрузить все зависимости от Maven.

Жаль, что с тех пор, как Maven TLS меняет установку Scala для систем на базе Debian, это ломается, если используется вместе со старым JDK.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню