sbt
respeita as variáveis de ambiente usuais para configurações de proxy http:
export JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password"
( Isso é claro, assumindo Unix (Linux / OSX etc.). No Windows, você pode apenas definir a mesma variável de ambiente ( %JAVA_OPTS%
) como de costume no modo Windows. )
Em seguida, execute sbt
como de costume:
sbt
Alternar entre proxy / no-proxy deve ser uma questão de configurar um pequeno script que você pode 'engolir' sempre que precisar.
Pegadinhas
- Não inclua "http: //" no
yourserver
valor
- Não inclua a porta no
yourserver
valor
- Você provavelmente também deseja incluir
https.proxyHost
e, https.proxyPort
como muitas coisas funcionam em https
- Se o seu proxy requer autenticação, nem se preocupe em tentar, a menos que ele apenas use a autenticação básica, pois o SBT não oferece suporte a mais nada. Também sempre tome cuidado com as credenciais de mensagens de texto claras nas variáveis de ambiente! Certifique-se de remover os comandos do seu .bash_history usando um método de edição de texto que não criará arquivos de rastreamento (tecnicamente você deveria
shred
ou srm
o arquivo inteiro). Se você está no Windows, não se preocupe com isso, sua segurança já está bagunçada, você não pode mais causar danos.
set JAVA_OPTS=-Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password
para fazer isso funcionar.-Dhttps.proxyHost
e-Dhttps.proxyPort
!sbt
funciona de uma maneira razoavelmente padrão em comparação com a maneira como outros projetos baseados em JVM são normalmente configurados.sbt é, na verdade, dois "subsistemas" - o iniciador e o núcleo. Geralmente
xsbt.boot.Boot
é executado antes do núcleo inicializar com os recursos que todos nós conhecemos (e alguns até gostam).Portanto, é uma questão de como você executa o sbt que diz como você pode configurar um proxy para o tráfego de rede HTTP, HTTPS e FTP.
A seguir está a lista completa das propriedades disponíveis que podem ser definidas para qualquer aplicativo Java, incluindo sbt, que instruem a API Java a rotear a comunicação por meio de um proxy:
Substitua
http
acima porhttps
eftp
para obter a lista das propriedades dos serviços.Alguns
sbt
scripts são usadosJAVA_OPTS
para definir as configurações de proxy com-Dhttp.proxyHost
e-Dhttp.proxyPort
entre os outros (listados acima). Consulte Rede Java e proxies .Alguns scripts vêm com sua própria maneira de definir a configuração do proxy usando a
SBT_OPTS
propriedade.sbtopts
ou (somente no Windows)%SBT_HOME%\conf\sbtconfig.txt
. Você pode usá-los para definir especificamente o sbt para usar proxies, enquanto os outros aplicativos baseados em JVM não são afetados.Na
sbt
ferramenta de linha de comando:E aqui vem um trecho de
sbt.bat
:Tenha cuidado com
sbtconfig.txt
que apenas funciona no Windows única . Quando você usacygwin
o arquivo não é consultado e você terá que recorrer ao uso de outras abordagens.Estou usando sbt com o seguinte script:
O objetivo do script é usar a versão mais recente do sbt construída a partir das fontes (é por isso que estou usando
/Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar
) com$SBT_OPTS
propriedade como um meio de passar propriedades JVM para os usos de JVM sbt.O script acima me permite definir o proxy na linha de comando no MacOS X da seguinte maneira:
Como você pode ver, existem muitas abordagens para definir o proxy para sbt que praticamente se resumem a definir um proxy para o uso do JVM sbt.
fonte
No ambiente Windows, basta adicionar a seguinte linha no sbt / sbtconfig.txt
ou o equivalente Https (graças aos comentários)
fonte
sbt/conf/sbtopts
arquivo.sbt/conf/sbtopts
arquivo para configurar o proxy?C:\Program Files (x86)\sbt\conf\sbtopts
- no Windows obviamente.sbtopts
arquivoEu usei (este é um ambiente unix):
Isso não funcionou para minha configuração:
No arquivo sbt.sh:
Mas, aparentemente, SBT_OPTS é usado em vez de JAVA_OPTS
fonte
sbt.sh
arquivo no meu projeto!Para usuários do Windows, digite o seguinte comando:
fonte
code
set JAVA_OPTS = -Dhttp.proxySet = true -Dhttp.proxyHost = <Proxy Server> -Dhttp.proxyPort = <Port> -Dhttp.proxyUser = <Username> - Dht tp.proxyPassword = <Password> -Dhttps.proxySet = true -Dhttps.proxyHost = <Proxy Server> -Dhttps.proxyPort = <Port> -Dhttps.proxyUser = <Username> -Dhttp s.proxyPassword = <Password>code
Para fornecer uma resposta que funcione para todos os usuários do Windows:
Adicione o seguinte ao seu sbtconfig.txt (C: \ Arquivos de programas (x86) \ sbt \ conf)
Substitua XXXXXXX por seu proxyHost e YYYY por seu proxyPort.
Se você receber o erro "Não foi possível encontrar ou carregar a classe principal", será necessário definir seu JAVA_HOME:
Quando em janelas de 64 bits, use:
fonte
Adicione configurações de http e https:
(a configuração https é obrigatória, já que muitos urls referidos pelas bibliotecas sbt são https)
Na verdade, eu até tinha uma configuração extra
'http.proxySet'
para'true'
em ambas as entradas de configuração.fonte
Quando adicionei as informações do proxy ao% JAVA_OPTS%, recebi um erro "-Dhttp.proxyHost = seu servidor era inesperado neste momento". Coloquei as informações do proxy em% SBT_OPTS% e funcionou.
fonte
Usando
funciona no Ubuntu 15.10 x86_64 x86_64 GNU / Linux.
Substitua yourServer pelo endereço adequado sem os prefixos http: // nem https: // em Dhttp e Dhttps, respectivamente. Lembre-se de evitar as aspas. Nenhum usr / pass incluído na linha de código, para incluir isso basta adicionar -Dhttp.proxyUser = usr -Dhttp.proxyPassword = pass com os mesmos critérios de digitação. Obrigado @Jacek Laskowski !. Felicidades
fonte
Achei útil um item na seção FAQ do Lightbend Activator. Estou usando o Activator, que por sua vez usa o SBT, então não tenho certeza se isso ajuda os usuários apenas com o SBT, mas se você usa o Activator, como eu, e está atrás de um proxy, siga as instruções na seção "Atrás de um proxy" do PERGUNTAS FREQUENTES:
https://www.lightbend.com/activator/docs
Caso o conteúdo desapareça, aqui está um copiar e colar:
fonte
O SBT usa HTTP / HTTPS / SFTP / SSH e outros tipos de conexões com um repositório. portanto, quando atrás de um proxy, esses protocolos devem estar disponíveis.
Na maioria dos casos simples no Windows, você só precisa passar as opções de parâmetros de proxy para JVM, como:
Que vai fazer.
Mas se não, existem algumas coisas das quais você deve estar ciente:
para resolver primeiro, você deve passar o parâmetro proxy https para jvm, como:
para resolver o segundo, você deve importar o ca. há muitas dicas.
para resolver o terceiro, talvez você possa considerar o uso de um proxy de autenticação.
para simplificar a configuração do SBT, forneça sbtconfig.txt e sbtops no diretório conf, examine-o.
Referência:
http://www.scala-sbt.org/0.13/docs/Setup-Notes.html
http://www.scala-sbt.org/1.0/docs/Publishing.html
fonte
No Mac OS X / El Capitan, você pode definir variáveis de ambiente java:
fonte
Descobri que iniciar o IntelliJ IDEA do terminal me permite conectar e fazer download pela Internet. Para iniciar do terminal, digite:
$ idea
fonte
Se você estiver usando um proxy que requer autenticação, eu tenho uma solução para você :)
Como @Faiz explicou acima, o SBT tem muita dificuldade em lidar com o proxy que exige autenticação. A solução é contornar essa autenticação, caso não consiga desligar o proxy sob demanda (proxy corporativo, por exemplo). Para isso, sugiro que você use um proxy squid e configure-o com seu nome de usuário e senha para acessar o proxy corporativo. Veja: https://doc.ubuntu-fr.org/squid Em seguida, você pode definir as variáveis de ambiente JAVA_OPTS ou SBT_OPTS para que o SBT se conecte ao seu próprio proxy squid local em vez do proxy corporativo:
(apenas c / c isso em seu bashrc sem modificar nada e deve funcionar bem).
O truque é que o Squid Proxy não requer autenticação e atua como um intermediário entre o SBT e o outro proxy.
Se você tiver problemas em aplicar este conselho, por favor me avise.
Saudações,
Edgar
fonte
Para aqueles que ainda estão tentando descobrir onde / como configurar o proxy HTTP no IntelliJ, veja como consegui fazer com que funcionasse para mim. Eu espero que isso ajude!
(Observação: especifique seu nome de usuário e senha de rede nas caixas correspondentes): -
fonte
Tente fornecer os detalhes do proxy como parâmetros
Se isso não funcionar, tente com JAVA_OPTS (não Windows)
ou (windows)
se nada funcionar, defina SBT_OPTS
(sem janelas)
ou (windows)
fonte