2014-11-25 66 views
6

我想在Windows 7上運行SBT。爲此,我按照類似的線程「How to use sbt from behind proxy?」中的步驟操作。如何在後臺代理中使用sbt - 在Windows 7中?

我有以下相關的 「系統變量」:

變量名: JAVA_OPTS 變量值: -Dhttp.proxySet =真-Dhttp.proxyHost = 192.168.0.150 -Dhttp.proxyPort = 8080

變量名: SBT_OPTS 變量值: -Dhttp.proxySet =真-Dhttp.proxyHost = 192.168.0.150 -Dhttp.proxyPort = 8080

變量名: SBT_HOME 變量值: C:\ Program Files文件(x86)的\ SBT \

我也改變了C的含量:\程序文件(x86)\ SBT \的conf \ sbtconfig.txt

***** sbtconfig.txt BEGINNING *****

*設置Java參數傳遞給高

-Xmx512M

-XX:MaxPermSize參數=256米

-XX:ReservedCodeCacheSize =128米

*設置額外的SBT選項

-Dsbt.log.format =真

*設置代理

-Dhttp.proxySet = true

-Dhttp.proxyHost = 192.168.0.150

-Dhttp.proxyPort = 8080

***** sbtconfig.txt END *****

運行 「cmd.exe的」 我進入 「SBT」。 cmd回聲「Getting org.fusesource.jansi jansi 1.11 ...」。約1分鐘後,我得到了很多的警告和錯誤的一樣:

[...]

::::錯誤服務器訪問錯誤:連接超時:連接URL = https://repo.typesafe.com/typesafe/ivy-releases/org.fusesource.jansi/jansi/1.11.ivys/ivy.xml

[。 ..]

這是完全相同的,我沒有代理設置。此外,我很驚訝,當我在瀏覽器中輸入該地址提到和所有我得到的是:

*****瀏覽器顯示BEGINNING *****

{

「錯誤」: {

"status" : 404, 

"message" : "File not found." 

}]

}

*****瀏覽器顯示END *****

如何確定SBT是否嘗試使用代理,或者存在其他問題?

回答

16

謝謝你Paweł你的答案。

這是我發現:

-Dhttp.proxySet=true」沒有任何影響(至少對我來說)

的設置在優先級順序如下:

SBT_OPTS覆蓋JAVA_OPTS覆蓋%SBT_HOME%CONF \ sbtconfig.txt

解決方案要麼設置的環境變量中的一個

JAVA_OPTS=-Dhttp.proxyHost=192.168.0.150 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=192.168.0.150 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost 

OR

SBT_OPTS=-Dhttp.proxyHost=192.168.0.150 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=192.168.0.150 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost 

或者編輯%SBT_HOME%的conf \ sbtconfig.txt文件:

***** sbtconfig.txt BEGINNING (hashtags in this file have been replaced by stars) ***** 

*Set the java args to high 

-Xmx512M 

*-XX:MaxPermSize=256m 

-XX:ReservedCodeCacheSize=128m 

*Set the extra SBT options 

-Dsbt.log.format=true 

*Proxy settings 

-Dhttp.proxyHost=192.168.0.150 

-Dhttp.proxyPort=8080 

-Dhttps.proxyHost=192.168.0.150 

-Dhttps.proxyPort=8080 

***** sbtconfig.txt END ***** 
4

讓我們來看看你的錯誤:

:::: ERRORS Server access Error: Connection timed out: connect url=https://repo.typesafe.com/typesafe/ivy-releases/org.fusesource.jansi/jansi/1.11.ivys/ivy.xml 

SBT試圖使用https,但是你沒有代理配置它。 嘗試設置HTTPS代理變量:

  • https.proxyHost
  • https.proxyPort

我想你可以嘗試同樣的值作爲HTTP代理。

1

轉到您的SBT文件夾,使用下面的命令

set SBT_OPTS=-Dhttp.proxyHost=10.10.10.154 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=10.10.10.154 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost <Enter your IP settings > 

然後

sbt.bat 
相關問題