sbt
уважает обычные переменные среды для настроек прокси http:
export JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password"
( Это, конечно, при условии, что Unix (Linux / OSX и т. Д.). В Windows вы можете просто установить ту же переменную среды ( %JAVA_OPTS%
), как обычно, способом Windows. )
Затем запустите sbt
как обычно:
sbt
Переключение между прокси / без прокси должно заключаться в настройке небольшого скрипта, который вы можете «проглотить», когда вам это нужно.
Попался
- Не включайте "http: //" в
yourserver
значение
- Не включайте порт в
yourserver
значение
- Вы, вероятно, также захотите включить,
https.proxyHost
и https.proxyPort
поскольку многие вещи работают по https
- Если ваш прокси требует аутентификации, даже не пытайтесь, если только он не использует простую аутентификацию, поскольку SBT больше ничего не поддерживает. Также всегда будьте осторожны при вводе учетных данных в переменные среды! Обязательно удалите команды из вашего .bash_history, используя метод редактирования текста, который не создает файлы трассировки (технически вы должны
shred
или srm
весь файл). Если вы используете Windows, не беспокойтесь об этом, ваша безопасность уже нарушена, вы больше не можете причинить вреда.
set JAVA_OPTS=-Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password
чтобы заставить это работать.-Dhttps.proxyHost
и-Dhttps.proxyPort
!sbt
работает довольно стандартным образом по сравнению с тем, как обычно настраиваются другие проекты на основе JVM.sbt - это по сути две «подсистемы» - лаунчер и ядро. Обычно
xsbt.boot.Boot
это выполняется до того, как ядро запускает функции, которые мы все знаем (а некоторым даже нравятся).Следовательно, это вопрос того, как вы выполняете sbt, который говорит, как вы можете настроить прокси для сетевого трафика HTTP, HTTPS и FTP.
Ниже приводится полный список доступных свойств, которые могут быть установлены для любого приложения Java, включая sbt, которые инструктируют Java API для маршрутизации обмена данными через прокси:
Замените
http
выше наhttps
и,ftp
чтобы получить список свойств для услуг.Некоторые
sbt
сценарии используютJAVA_OPTS
для настройки прокси - сервера с-Dhttp.proxyHost
и-Dhttp.proxyPort
среди других (перечисленных выше). См. Сеть Java и прокси .Некоторые сценарии содержат собственный способ настройки конфигурации прокси с помощью
SBT_OPTS
свойства.sbtopts
или (только в Windows)%SBT_HOME%\conf\sbtconfig.txt
. Вы можете использовать их, чтобы специально настроить sbt на использование прокси, в то время как другие приложения на основе JVM вообще не затрагиваются.Из
sbt
инструмента командной строки:А вот отрывок из
sbt.bat
:Будьте осторожны с того,
sbtconfig.txt
что просто работает на Windows , только . При использованииcygwin
файл не консультируется, и вам придется прибегнуть к использованию других подходов.Я использую sbt со следующим скриптом:
Смысл сценария - использовать последнюю версию sbt, созданную из источников (поэтому я и использую
/Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar
) со$SBT_OPTS
свойством как средство передачи свойств JVM в JVM, которую использует sbt.Приведенный выше сценарий позволяет мне установить прокси в командной строке в MacOS X следующим образом:
Как видите, существует множество подходов к установке прокси для sbt, которые в значительной степени сводятся к установке прокси для JVM, которую использует sbt.
источник
В среде Windows просто добавьте следующую строку в sbt / sbtconfig.txt
или эквивалент Https (благодаря комментариям)
источник
sbt/conf/sbtopts
Вместо этого вы должны использовать файл.sbt/conf/sbtopts
файл для установки прокси?C:\Program Files (x86)\sbt\conf\sbtopts
- очевидно, на окнах.sbtopts
файлаЯ использовал (это среда unix):
Это не сработало для моей установки:
В файле sbt.sh:
Но видимо SBT_OPTS используется вместо JAVA_OPTS
источник
sbt.sh
файл в моем проекте!Для пользователей Windows введите следующую команду:
источник
code
установить JAVA_OPTS = -Dhttp.proxySet = true -Dhttp.proxyHost = <Proxy Server> -Dhttp.proxyPort = <Port> -Dhttp.proxyUser = <Username> - Dht tp.proxyPassword = <Пароль> -Dhttps.proxySet = true -Dhttps.proxyHost = <Прокси-сервер> -Dhttps.proxyPort = <Порт> -Dhttps.proxyUser = <Имя пользователя> -Dhttp s.proxyPassword = <Пароль>code
Чтобы дать один ответ, который будет работать для всех пользователей Windows:
Добавьте следующее в свой sbtconfig.txt (C: \ Program Files (x86) \ sbt \ conf)
Замените оба XXXXXXX своим proxyHost, а YYYY - своим proxyPort.
Если вы получаете сообщение об ошибке «Не удалось найти или загрузить основной класс», вам необходимо установить JAVA_HOME:
В 64-битных окнах используйте:
источник
Добавьте конфигурацию http и https:
(Конфигурация https обязательна, поскольку многие URL-адреса, на которые ссылаются библиотеки sbt, являются https)
На самом деле, я даже имел дополнительные настройки
'http.proxySet'
для'true'
обеих записей конфигурации.источник
Когда я добавил информацию о прокси в% JAVA_OPTS%, я получил сообщение об ошибке «-Dhttp.proxyHost = yourserver был неожиданным в это время». Я поместил информацию о прокси в% SBT_OPTS%, и это сработало.
источник
С помощью
работает в Ubuntu 15.10 x86_64 x86_64 GNU / Linux.
Замените yourServer на правильный адрес без префиксов http: // или https: // в Dhttp и Dhttps соответственно. Не забывайте избегать кавычек. В строке кода нет usr / pass, чтобы включить его, просто добавьте -Dhttp.proxyUser = usr -Dhttp.proxyPassword = pass с теми же критериями ввода. Спасибо, @Jacek Laskowski !. Ура
источник
Я нашел полезный пункт в разделе часто задаваемых вопросов Lightbend Activator. Я использую Activator, который, в свою очередь, использует SBT, поэтому не уверен, поможет ли это пользователям только с SBT, но если вы используете Activator, как я, и находитесь за прокси-сервером, следуйте инструкциям в разделе «За прокси» ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ:
https://www.lightbend.com/activator/docs
На случай, если контент исчезнет, вот копипаст:
источник
SBT использует как HTTP / HTTPS / SFTP / SSH, так и другие типы подключений к репозиторию. поэтому при использовании прокси эти протоколы должны быть доступны.
В большинстве простых случаев в Windows вам просто нужно передать параметры прокси в JVM, например:
Что будет делать.
Но если нет, вам следует знать несколько вещей:
чтобы решить сначала, вы должны передать параметр прокси https в jvm, например:
чтобы решить второй, вы должны импортировать файл ca. советов много.
для решения третьего, возможно, вы могли бы рассмотреть возможность использования прокси аутентификации.
Чтобы упростить конфиг SBT, предоставьте sbtconfig.txt и sbtops в каталоге conf, посмотрите его.
Ссылка:
http://www.scala-sbt.org/0.13/docs/Setup-Notes.html
http://www.scala-sbt.org/1.0/docs/Publishing.html
источник
В Mac OS X / El Capitan вы можете установить переменные среды Java:
источник
Я обнаружил, что запуск IntelliJ IDEA с терминала позволяет мне подключаться и загружать через Интернет. Чтобы начать с терминала, введите:
$ idea
источник
Если вы используете прокси, который требует аутентификации, у меня есть решение для вас :)
Как объяснил @Faiz выше, SBT очень сложно обрабатывать прокси-сервер, требующий аутентификации. Решение состоит в том, чтобы обойти эту аутентификацию, если вы не можете отключить прокси-сервер по запросу (например, корпоративный прокси). Для этого я предлагаю вам использовать прокси-сервер squid и настроить его с вашим именем пользователя и паролем для доступа к корпоративному прокси. См .: https://doc.ubuntu-fr.org/squid Затем вы можете установить переменные среды JAVA_OPTS или SBT_OPTS, чтобы SBT подключался к вашему собственному локальному прокси-серверу squid вместо корпоративного прокси:
(просто c / c это в вашем bashrc, ничего не изменяя, и он должен работать нормально).
Хитрость в том, что Squid Proxy не требует аутентификации и действует как промежуточное звено между SBT и другим вашим прокси.
Если у вас возникнут проблемы с применением этого совета, сообщите мне.
С Уважением,
Эдгар
источник
Для тех, кто все еще попадает в этот поток, пытаясь найти, где и как настроить HTTP-прокси в IntelliJ, вот как мне удалось заставить его работать для меня. Надеюсь, это поможет!
(Примечание: укажите свое сетевое имя пользователя и пароль в соответствующих полях): -
источник
Попробуйте указать данные прокси в качестве параметров
Если это не работает, попробуйте JAVA_OPTS (без окон)
или (окна)
если ничего не работает, установите SBT_OPTS
(без окон)
или (окна)
источник