我想在防火牆後面運行sbt,並且我無法禁用它。但不知何故,我可以獲得所需的罐子並將它們存儲在系統中。有沒有一種方法可以在該系統上沒有網絡連接的情況下運行。僅在安裝啓動程序後立即運行sbt?
我使用Windows(Win7)作爲開發環境。
我想在防火牆後面運行sbt,並且我無法禁用它。但不知何故,我可以獲得所需的罐子並將它們存儲在系統中。有沒有一種方法可以在該系統上沒有網絡連接的情況下運行。僅在安裝啓動程序後立即運行sbt?
我使用Windows(Win7)作爲開發環境。
SBT具有離線模式,在命令行中,你可以使用:
sbt "set offline := true" run
(與任何命令你需要更換run
),或者如果您運行sbt
,並在SBT控制檯,您可以簡單地做set offline := true
我甚至不能第一次運行sbt,因此我在哪裏保存所需的罐子,哪些是第一次運行所需的罐子。 –
只需將jar添加到lib文件夾 - 您可能想閱讀[unmanaged dependencies]部分(http://www.scala-sbt.org/release/docs/Getting-Started/Library-Dependencies.html) sbt的文件。 – Exupery
一旦我們運行SBT,應該沒有問題,但是如何在沒有網絡的情況下啓動SBT是我的問題。我的意思是我剛剛設置了SBT,當我嘗試啓動它時,它試圖從maven或ivy獲得一些罐子,但由於我沒有互聯網,我甚至無法啓動SBT。 –
我終於在掙扎了兩天後找到了問題的答案。問題不在於防火牆,而是在設置代理的情況下。我必須做的是通過命令提示符傳遞代理,用戶名和密碼,以便它可以獲得必要的jar。
java -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dhttp.proxyUser=proxyUsername -Dhttp.proxyPassword=proxyPassword -cp "/sbt-launch.jar" xsbt.boot.Boot
我跑這一段代碼,它解決了我的問題。
下載的jar文件存儲在.ivy/cache/path中。
謝謝@Exupery的幫助。
您是不是在評論中寫道:*「如何在沒有互聯網的情況下啓動SBT是我的問題」*?我改變了這個問題的標題,因爲我想你可能已經問過關於只用sbt啓動器下載sbt的問題。看起來你需要一個適當的設置來代理sbt。 –
雅沒錯。謝謝@Jacek –
請刪除它,因爲它是http://stackoverflow.com/questions/13803459/how-to-use-sbt-from-behind-proxy的副本(你甚至會獲得一個徽章的獎勵!) –
檢查了一下。事實上,找出究竟是什麼問題有點棘手。後來當我探索相同的時候,我才知道問題出在代理服務器上。 –