sbt
respeta las variables de entorno habituales para la configuración del proxy http:
export JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password"
( Eso es, por supuesto, asumiendo Unix (Linux / OSX, etc.). En Windows, puede configurar la misma variable de entorno ( %JAVA_OPTS%
) como de costumbre en Windows ) .
Luego ejecuta sbt
como de costumbre:
sbt
Cambiar entre proxy / no-proxy debería ser una cuestión de configurar un pequeño script que pueda 'sorber' cuando lo necesite.
Gotchas
- No incluya "http: //" en el
yourserver
valor
- No incluya el puerto en el
yourserver
valor
- Probablemente también desee incluir
https.proxyHost
y, https.proxyPort
dado que muchas cosas funcionan en https
- Si su proxy requiere autenticación, ni siquiera se moleste en intentarlo a menos que solo use autenticación básica, ya que SBT no admite nada más. ¡También siempre tenga cuidado con las credenciales claras de mensajes de texto en las variables de entorno! Asegúrese de eliminar los comandos de su .bash_history utilizando un método de edición de texto que no creará archivos de seguimiento (técnicamente debería hacerlo
shred
o srm
el archivo completo). Si está en Windows, no se preocupe, su seguridad ya está estropeada y no puede hacer más daño.
set JAVA_OPTS=-Dhttp.proxyHost=yourserver -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password
para que esto funcionara.-Dhttps.proxyHost
y-Dhttps.proxyPort
!sbt
funciona de una manera bastante estándar en comparación con la forma en que normalmente se configuran otros proyectos basados en JVM.sbt es de hecho dos "subsistemas": el lanzador y el núcleo. Por lo general,
xsbt.boot.Boot
se ejecuta antes de que se inicie el núcleo con las funciones que todos conocemos (y algunas incluso nos gustan).Por lo tanto, es una cuestión de cómo ejecutar sbt que dice cómo podría configurar un proxy para el tráfico de red HTTP, HTTPS y FTP.
La siguiente es la lista completa de las propiedades disponibles que se pueden configurar para cualquier aplicación Java, incluido SBT, que instruye a la API de Java para enrutar la comunicación a través de un proxy:
Reemplace
http
arriba conhttps
yftp
para obtener la lista de propiedades de los servicios.Algunas
sbt
secuencias de comandos se utilizanJAVA_OPTS
para configurar la configuración del proxy con-Dhttp.proxyHost
y-Dhttp.proxyPort
entre los demás (enumerados anteriormente). Consulte Proxies y redes de Java .Algunos scripts vienen con su propia forma de configurar la configuración del proxy utilizando la
SBT_OPTS
propiedad.sbtopts
o (solo en Windows)%SBT_HOME%\conf\sbtconfig.txt
. Puede usarlos para configurar sbt específicamente para usar proxies mientras que las otras aplicaciones basadas en JVM no se ven afectadas en absoluto.Desde la
sbt
herramienta de línea de comando:Y aquí viene un extracto de
sbt.bat
:Tenga cuidado con el
sbtconfig.txt
que funciona en Windows solamente . Cuando utilizascygwin
el archivo no se consulta y tendrás que recurrir a utilizar los otros enfoques.Estoy usando sbt con el siguiente script:
El objetivo del script es usar la última versión de sbt construida a partir de las fuentes (por eso estoy usando
/Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar
) con$SBT_OPTS
property como un medio para pasar las propiedades de JVM a los usos de JVM sbt.El script anterior me permite configurar el proxy en la línea de comandos en MacOS X de la siguiente manera:
Como puede ver, hay muchos enfoques para configurar el proxy para sbt que básicamente se reducen a configurar un proxy para los usos de JVM sbt.
fuente
En el entorno de Windows, simplemente agregue la siguiente línea en sbt / sbtconfig.txt
o el equivalente de Https (gracias a los comentarios)
fuente
sbt/conf/sbtopts
archivo en su lugar.sbt/conf/sbtopts
archivo para configurar el proxy?C:\Program Files (x86)\sbt\conf\sbtopts
- en Windows obviamente.sbtopts
archivoUsé (este es un entorno Unix):
Esto no funcionó para mi configuración:
En el archivo sbt.sh:
Pero aparentemente SBT_OPTS se usa en lugar de JAVA_OPTS
fuente
sbt.sh
archivo en mi proyecto!Para usuarios de Windows, ingrese el siguiente comando:
fuente
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 proporcionar una respuesta que funcione para todos los usuarios de Windows:
Agregue lo siguiente a su sbtconfig.txt (C: \ Archivos de programa (x86) \ sbt \ conf)
Reemplace tanto XXXXXXX con su proxyHost y ambos YYYY con su proxyPort.
Si recibe el error "No se pudo encontrar o cargar la clase principal", debe configurar su JAVA_HOME:
Cuando esté en Windows de 64 bits, use:
fuente
Agregue la configuración http y https:
(La configuración de https es imprescindible, ya que muchas URL referidas por las bibliotecas sbt son https)
De hecho, incluso tuve un escenario adicional
'http.proxySet'
a'true'
tanto en las entradas de configuración.fuente
Cuando agregué la información del proxy al% JAVA_OPTS%, recibí un error "-Dhttp.proxyHost = yourserver was inesperado en este momento". Puse la información del proxy en% SBT_OPTS% y funcionó.
fuente
Utilizando
funciona en Ubuntu 15.10 x86_64 x86_64 GNU / Linux.
Reemplace yourServer por la dirección adecuada sin los prefijos http: // ni https: // en Dhttp y Dhttps, respectivamente. Recuerde evitar las comillas. No se incluye usr / pass en la línea de código, para incluir eso solo agregue -Dhttp.proxyUser = usr -Dhttp.proxyPassword = pass con los mismos criterios de escritura. ¡Gracias @Jacek Laskowski !. Salud
fuente
Encontré útil un elemento en la sección de preguntas frecuentes de Lightbend Activator. Estoy usando Activator, que a su vez usa SBT, así que no estoy seguro de si esto ayuda a los usuarios solo con SBT, pero si usa Activator, como yo, y está detrás de un proxy, siga las instrucciones en la sección "Detrás de un proxy" de la PREGUNTAS MÁS FRECUENTES:
https://www.lightbend.com/activator/docs
En caso de que el contenido desaparezca, aquí tienes una copia y pega:
fuente
SBT utiliza tanto HTTP / HTTPS / SFTP / SSH como otros tipos de conexiones a un repositorio. por lo que cuando esté detrás de un proxy, estos protocolos deberían estar disponibles.
En la mayoría de los casos simples en Windows, solo necesita pasar opciones de parámetros de proxy a JVM, como:
Que hará.
Pero si no es así, hay algunas cosas que debe tener en cuenta:
para resolver primero, debe pasar el parámetro de proxy https a jvm, como:
para resolver el segundo, debe importar el ca. hay muchos consejos.
para resolver el tercero, quizás podría considerar usar un proxy de autenticación.
para simplificar la configuración de SBT, proporciona sbtconfig.txt y sbtops en el directorio conf, búsquelo.
Referencia:
http://www.scala-sbt.org/0.13/docs/Setup-Notes.html
http://www.scala-sbt.org/1.0/docs/Publishing.html
fuente
En Mac OS X / El Capitan, puede configurar las variables de entorno de Java:
fuente
Descubrí que al iniciar IntelliJ IDEA desde la terminal, me permitía conectarme y descargar a través de Internet. Para comenzar desde la terminal, escriba:
$ idea
fuente
Si está utilizando un proxy que requiere autenticación, tengo una solución para usted :)
Como @Faiz explicó anteriormente, SBT tiene muchas dificultades para manejar el proxy que requiere autenticación. La solución es omitir esta autenticación, si no puede desactivar su proxy a pedido (proxy corporativo, por ejemplo). Para hacerlo, le sugiero que use un proxy squid y lo configure con su nombre de usuario y contraseña para acceder a su proxy corporativo. Ver: https://doc.ubuntu-fr.org/squid Luego, puede configurar las variables de entorno JAVA_OPTS o SBT_OPTS para que SBT se conecte a su propio proxy squid local en lugar de su proxy corporativo:
(solo c / c this en su bashrc sin modificar nada y debería funcionar bien).
El truco es que Squid Proxy no requiere autenticación y actúa como intermediario entre SBT y su otro proxy.
Si tiene problemas para aplicar este consejo, hágamelo saber.
Saludos,
Edgar
fuente
Para aquellos que aún aterrizan en este hilo tratando de encontrar dónde / cómo configurar el proxy HTTP en IntelliJ, así es como logré que funcione para mí. ¡Espero que esto ayude!
(Nota: especifique su nombre de usuario y contraseña de red en los cuadros correspondientes): -
fuente
Intente proporcionar los detalles del proxy como parámetros
Si eso no funciona, intente con JAVA_OPTS (sin Windows)
o (ventanas)
si nada funciona, configure SBT_OPTS
(sin ventanas)
o (ventanas)
fuente