excel表格如何設置庫存預警(excel表格怎么設置庫存警告)
2299
2025-03-31
1 - 認識 SBT
SBT,Simple Build Tool,恰如其名,是一款簡單的、高效的、交互式的命令行構建工具。
類似于?Apache Maven(https://zh.wikipedia.org/wiki/Apache_Maven) 和?Apache Ant(https://zh.wikipedia.org/wiki/Apache_Ant),可看成是 Scala 世界的 Maven。有如下優勢:
① 使用Scala作為DSL來定義build文件(one language rules them all);
② 通過觸發執行(trigger execution)特性支持持續的編譯與測試;
③ 增量編譯:SBT的增量編譯非常優秀,已經剝離為Zinc,被Eclipse、Maven、Gradle 等使用;
④ 可以混合構建Java和Scala項目;
⑤ 并行的任務執行;
⑥ 可以重用Maven或者ivy的repository進行依賴管理……
— 摘自 [https://github.com/CSUG/real_world_scala/blob/master/02_sbt.markdown]
2 - 下載安裝包
-:[https://www.scala-sbt.org/download.html]。
Spark2x 用的是0.13.1x 版本的 SBT,這里以 1.3.8 版本為例進行演示;
Windows 下不建議用?.msi?安裝,老實下載?.zip?或?.tgz,然后解壓縮配置吧:-)
3 - 修改配置
假設你安裝到了?D:\Software\sbt-1.3.8\?目錄下。依次執行下述步驟:
3.1 配置環境變量
新增?SBT_HOME=D:\Software\sbt-1.3.8;
在?Path?中添加?%SBT_HOME%\bin?—— 注意不要覆蓋其他變量。
3.2 修改 SBT 的數據目錄
Windows 下,SBT 默認數據目錄是?%USERPROFILE%,也就是?C:\Users\UR_NAME\,為了防止重裝系統導致 C 盤數據丟失,需要修改數據目錄。
編輯?D:\Software\sbt-1.3.8\conf\sbtconfig.txt?文件,具體為:
#?sbt?configuration?file?for?Windows #?Set?the?java?args #-mem?1024?was?added?in?sbt.bat?as?default -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -XX:+CMSClassUnloadingEnabled1 #?Set?the?extra?sbt?options -Dsbt.log.format=true -Dfile.encoding=UTF8 #?修改?SBT?的數據目錄: -Dsbt.boot.directory=D:/Repo/SbtBoot/.sbt/boot -Dsbt.global.base=D:/Repo/SbtBoot/.sbt -Dsbt.ivy.home=D:/Repo/SbtBoot/.ivy2 #?指定倉庫的配置文件,文件名無特殊要求: -Dsbt.repository.config=D:/Software/sbt-1.3.8/conf/repo.properties
注意:Windows 系統的文件分隔符是?\,這里配置的分隔符是?/!
配置項的含義,請查看:[https://www.scala-sbt.org/1.x/docs/Command-Line-Reference.html]
3.3 修改遠程倉庫
SBT 的默認倉庫下載巨慢,比如通過?sbt -V?查看版本號,需要下載部分包,耗時10 min 以上。
我們在 3.2 節中指定了倉庫的配置文件,文件內容如下:
[repositories] ?local ?aliyun:?http://maven.aliyun.com/nexus/content/groups/public ?aliyun-ivy:?http://maven.aliyun.com/nexus/content/groups/public/,??[organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
注意:這里為了兼容 ivy 路徑的布局,額外做了配置:[organization]/.../[type]s/artifact.[ext]
4 - cmd 中運行 SBT
打開 cmd 終端窗口,輸入?sbt?即可啟動 SBT 服務。
建議進入項目路徑下再運行 SBT,否則會提示當前路徑下既沒有?build.sbt?文件,也沒有?project?目錄,SBT 找不到項目,也就無法編譯運行了。
注意:第一次執行?sbt,它會下載啟動所需要的依賴包,耗時較長。如果沒有按照 3.3 節修改 SBT 的遠程倉庫,耗時會更久。
當窗口中出現?sbt:{DIR_NAME}>?提示符,則說明 SBT 服務已經成功啟動,如下圖:
退出方式:在命令框中輸入?exit?即可退出:
sbt:repo>?exit [info]?shutting?down?sbt?server
5 - IDEA 中運行 SBT 項目
5.1 新建 SBT 項目
前提:已經為 IDEA 安裝了 SBT 插件。
(1) 創建一個新的 Scala-SBT 項目:
設置項目名稱、項目路徑、SBT 版本、Scala 版本等信息,然后 [Finish]。
查看項目配置信息:
5.2 修改 SBT 插件的配置
此時 IDEA 使用的應該是插件默認的 SBT,我們需要修改 SBT 的配置:
其中 【VM parameters】中添加我們在 3.2 節中的配置,支持換行:
-Xms1024m???? -Xmx1024m???? -Xss4M???? -XX:ReservedCodeCacheSize=128m???? -XX:+CMSClassUnloadingEnabled???? -Dsbt.log.format=true???? -Dfile.encoding=UTF8???? -Dsbt.boot.directory=D:/Repo/SbtBoot/.sbt/boot???? -Dsbt.global.base=D:/Repo/SbtBoot/.sbt???? -Dsbt.ivy.home=D:/Repo/SbtBoot/.ivy2???? -Dsbt.repository.config=D:/Software/sbt-1.3.8/conf/repo.properties
另外,sbt-launch.jar?也要指定為我們安裝路徑下的啟動包,這里是?D:\Software\sbt-1.3.8\bin\sbt-launch.jar。
為了方便起見,可以對所有新項目的配置做相同的修改:
新版本 IDEA:[File] -> [Other Settings] -> [Settings for New Projects]
舊版本 IDEA:[File] -> [Other Settings] -> [Default Settings]
5.3 添加 Scala SDK
SBT 加載完成后,要創建 Scala 測試類,就要先配置 Scala SDK,具體方式為:
[File] -> [Project Structure] -> [Project Settings] -> [Libraries],添加本地的 Scala 安裝根路徑即可。比如我添加的安裝路徑是:D:\Software\scala-2.11.8。
可選項:在?build.sbt?文件中添加項目依賴:
(1) 不指定 Scala 庫的版本:?依賴包的組織部分?org.apache.spark?后面加兩個%號,SBT 會自動到倉庫源中根據當前項目中 Scala 的版本進行依賴的匹配,如果沒有通過?scalaVersion := "2.x.x"?指定 Scala 版本,會以 SBT 默認的 Scala 版本號為主,例如:
libraryDependencies?+=?"org.apache.spark"?%%?"spark-core"?%?"2.4.5"
(2) 明確指定 Scala 庫的版本:?依賴包組織部分?org.apache.spark?后面只加一個%號,例如:
libraryDependencies?+=?"org.apache.spark"?%?"spark-core_2.12"?%?"2.4.5"
5.4 創建、運行測試類
若項目有個對象帶有 main 方法(或者對象繼承了 App 接口),就可以通過 run 命令在 sbt 中運行代碼。
如果有多個 main 方法時,sbt 會向我們確認要執行哪一個。
我們創建?HelloSbt.scala?測試類,然后在 IDEA 自帶的終端中運行?sbt run,示例如下:
通過官方文檔的描述,我們知道:sbt 按照既定的約定工作 —— 它會自動找到以下內容:
項目根目錄下的源文件
src/main/scala 或 src/main/java 中的源文件
src/test/scala 或 src/test/java 中的測試文件
src/main/resources 或 src/test/resources 中的數據文件
lib 中的 jar 文件
默認情況下,sbt 會用和啟動自身相同版本的 Scala 來構建項目。
我們可以通過執行?sbt run?來運行項目,或者通過?sbt console?進入 Scala REPL。sbt console 已經幫我們設置好了項目的 classpath,所以我們可以根據項目實際運行 Scala 代碼。
其他配置可參考:SBT 官方文檔 (https://www.scala-sbt.org/0.13/docs/zh-cn/Hello.html)
6 - SBT 常用命令參考
將?src/main/resources?下的文件和?src/main/scala?以及?src/main/java中編譯出來的 class 文件打包成一個 jar 文件。
重新加載構建定義(build.sbt,?project/*.scala,?project/*.sbt?這些文件中定義的內容)。在修改了構建定義文件之后需要重新加載。
顯示想要看的信息,比如?show name:查看當前項目的名字,
show libraryDependencies:查看當前項目依賴的庫。
Scala 編譯構建 CloudBuild
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。