SBT教程系列(一)——爲什麼要學習SBT?

SBT教程

前言

  寫這篇教程只針對新手,如果你已經有一定的通過SBT管理項目的經驗的時候這篇教程可能已經不太適合你了。因爲寫的都是一些很基礎的入門的東西。

SBT簡介

  爲了文章結構完整,在這裏把把能找到的一些sbt簡介附上讓大家看一下:

sbt is a build tool for Scala, Java, and more. It requires Java 1.6 or later. (出自官方文檔)


sbt是一個simple build tools,可以進行scala與java的項目管理,支持增量編譯,內置scala console


SBT是一個現代構建工具。它是用Scala編寫的,並且針對Scala也提供了很多方便快捷的功能。它也是一個通用的構建工具


  官方文檔上寫的很清楚了吧,下一題。wait a moment !!!!說好的給新手寫教程呢,這種東西能稱得上教程!!!很遺憾,網上你能找的教程都是這個樣子的。原因就是如果你是學習scala的新手你可能不需要什麼版本管理工具,你可以依靠自己手動管理你的項目。如果你需要學習SBT的時候你可能已經有過一些項目經驗,或者已經使用過一些其他的項目管理工具,例如大名鼎鼎的Maven(據說Maven比SBT更加強大,但是sbt在使用Scala語言開發時用的比較多,具體的我也不甚瞭解),上面出現的那些簡介可能對你來說也很簡單。苦逼的博主,第一門正式的工作語言就是scala(學習門欄自行百度),第一個項目就是要使用sbt的大項目(項目團隊已經開放了超過5個月了)。所以如果你恰巧和我一樣,或者你想走的快一點,那你就可以繼續往下讀了,我相信讀了下面“爲什麼要學習SBT?”你應該就會對他有一個初步的瞭解了。

爲什麼要學習SBT?

  我第一次接觸SBT的時纔剛剛參加工作,當時什麼都不懂。帶我的師傅很忙,沒時間指導我,給我一個github的地址讓我從上面拷貝這個項目的全部資料。折騰了半天先後註冊一個github的賬號,查閱教程學習瞭如何使用github,並從上面把網站上的資料克隆到本地(關於github的使用網上已經有很多教程了,質量的話參差不齊吧,如果大家有好的教程可以推薦給我,我把鏈接放在這裏,或者我自己寫一篇也可以)。
  在計算機領域如果能有拷貝解決的問題那根本不算問題,所以難點也不再這。項目下載下來之後安裝了我在我的64位win10系統上安裝了IDEA,然後配置好了JAVA和scala,馬上就開幹了。但是問題就出現了,編輯器打開代碼後滿屏幕的紅色波浪下劃線,有國IDE編程經驗的應該知道這是編輯器報錯了。而報錯的原因就是我的計算機上缺了很多項目依賴的jar包。缺了多少個呢?38個。好吧一個個下載導入好了(關於如何在IDEA上導入依賴包此處也應該有一篇教程,以後補上鍊接或者自己寫一片)。然後問題又來了:需要翻牆才能下載到相關的jar包怎麼辦?,同一個jar依賴包下載到的版本不對怎麼辦?。下面引用從Maven教程裏找到的一些問題描述:

  • 都是同樣的代碼,爲什麼在我的機器上可以編譯執行,而在他的機器上就不行?
  • 爲什麼在我的機器上可以正常打包,而配置管理員卻打不出來?
  • 項目組加入了新的人員,我要給他說明編譯環境如何設置,但是讓我撓頭的是,有些細節我也記不清楚了。
  • 我的項目依賴一些jar包,我應該把他們放哪裏?放源碼庫裏?
  • 這是我開發的第二個項目,還是需要上面的那些jar包,再把它們複製到我當前項目的svn庫裏吧
  • 現在是第三次,再複製一次吧 —– 這樣真的好嗎?
  • 我寫了一個數據庫相關的通用類,並且推薦給了其他項目組,現在已經有五個項目組在使用它了,今天我發現了一個bug,並修正了它,我會把jar包通過郵件發給其他項目組
  • 項目進入測試階段,每天都要向測試服務器部署一版。每次都手動部署,太麻煩了。

以上這些令人頭皮發麻的問題就是我們使用項目管理工具sbt解決的問題。相信讀到這你就知道sbt是幹什麼的以及爲什麼要學sbt了吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章