问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

scala maven sbt 哪个

发布网友 发布时间:2022-04-22 17:23

我来回答

2个回答

热心网友 时间:2022-04-08 00:21

SBT是Simple Build Tool的简称,如果读者使用过Maven,那么可以简单将SBT看做是Scala世界的Maven,虽然二者各有优劣,但完成的工作基本是类似的。

虽然Maven同样可以管理Scala项目的依赖并进行构建, 但SBT的某些特性却让人如此着迷,比如:

* 使用Scala作为DSL来定义build文件(one language rules them all);
* 通过触发执行(trigger execution)特性支持持续的编译与测试;
* 增量编译;^[SBT的增量编译支持因为如此优秀,已经剥离为Zinc,可被Eclipse, Maven,Gradle等使用]
* 可以混合构建Java和Scala项目;
* 并行的任务执行;
* 可以重用Maven或者ivy的repository进行依赖管理;

等等这些,都是SBT得以在Scala的世界里广受欢迎的印记。

SBT的发展可以分为两个阶段, 即SBT_0.7.x时代以及SBT_0.10.x以后的时代。

目前来讲, SBT_0.7.x已经很少使用, 大部分公司和项目都已经迁移到0.10.x以后的版本上来,最新的是0.12版本。 0.10.x之后的版本build定义采用了新的Settings系统,与最初0.7.x版本采用纯Scala代码来定义build文件大相径庭,虽然笔者在迁移之前很抵触(因为0.7.x中采用Scala定义build文件的做法可以体现很好的统一性),但还是升级并接纳了0.10.x以后的版本,并且也逐渐意识到, 虽然新的版本初看起来很复杂,但一旦了解了其设计和实现的哲学跟思路,就会明白这种设计可以更便捷的定义build文件。而且可选的build文件方式也同样运行采用Scala代码来定义,即并未放弃统一性的思想。

以上是SBT的简单介绍,如果读者已经急于开始我们的SBT之旅,那么让我们先从SBT的安装和配置开始吧!

## SBT安装和配置

SBT的安装和配置可以采用两种方式,一种是所有平台都通用的安装配置方式,另一种是跟平台相关的安装和配置方式,下面我们分别对两种方式进行详细介绍。

### 所有平台通用的安装配置方式
所有平台通用的安装和配置方式只需要两步:

1. 下载sbt boot launcher
- 本书采用最新的sbt0.12,其下载地址为<http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.0/sbt-launch.jar>;
2. 创建sbt启动脚本(启动脚本是平台相关的)
- 如果是Linux/Unit系统,创建名称为sbt的脚本,并赋予其执行权限,并将其加到PATH路径中; sbt脚本内容类似于
``java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar `dirname $0`/sbt-launch.jar "$@"``, 可以根据情况调整合适的java进程启动参数;
- 如果是Windows系统,则创建sbt.bat命令行脚本,同样将其添加到PATH路径中。 脚本内容类似于``set SCRIPT_DIR=%~dp0 \n
java -Xmx512M -jar "%SCRIPT_DIR%sbt-launch.jar" %*``

以上两步即可完成sbt的安装和配置。

### 平台相关的安装配置方式
笔者使用的是Mac系统,安装sbt只需要执行``brew install sbt``即可(因为我已经安装有homebrew这个包管理器),使用macport同样可以很简单的安装sbt - ``sudo port install sbt``;

热心网友 时间:2022-04-08 01:39

maven吧,sbt仓库很慢.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 在centos上面安装sparksql 什么叫中断处理 我怎么SBT使用本地的maven代理库 下雨时雨水是怎样掉落下来的 什么是中断响应次序?什么是中断处理次序? hadoop三大核心组件 scalaelipse插件下载网址打不开 什么是中断处理程序? 哪里有Scala视频教程下载? eclipse4.4对应的scala版本插件是多少 绠怎么读 绠的拼音是什么 eclipse中的scala插件怎么安装 中断处理是什么 scala ide for eclipse 安装文件下载 简述中断的处理过程 404 Not Found 什么求组词 什么求组词 谁有斯卡拉MP3免费下载地址.完整DJ? 银行卡为什么会被锁?被锁代表着什么?? 51单片机中断处理程序中关中断的问题 scala怎样部署到idea中 中断服务程序与普通子程序有哪些相同和不同之处??? 为什么我安装不了我的世界1.7.10 forge 现代途胜手动挡怎么样 2012款手动途胜怎么样? Popsub字幕编辑软件,另存为的时候,选SRT,文件内容里,预览是空。请问是怎么回事,试了好几遍都无法保存 21款途胜乚手动模式如何使用 ug软件,做的物体保存第一遍了,第二遍忘记保存了,为啥没有那个图了 老款途胜2.0的油耗多少 格式化如何保存内存 途胜手动挡没有了? 360网盘篡改照片名产生的异名文件如何清除?存了两遍,名称不同大小一样原来前缀P_,V_被改成PIC_存了 悯农古诗词其二 保存在电脑盘里的照片好多重复了,怎么把重复的删掉,求高手 2021现代途胜有手动挡吗? UC浏览器里保存的图片存在手机哪里? 二手车2013款现代途胜2.0手动挡值多少钱? 翻译的英文怎么写? 2014年现代途胜手动档11万公里值多少钱?