首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。...虽然也有其它构建工具可以选择(例如 Mill), 但是在短时间内基本上不可能撼动 SBT 的地位,毕竟它是 Scala 名正言顺的亲儿子。...当然还有另外一个原因可能导致其它构建工具永远没有机会,Scala 语言以其卓越的编译器著称,编译器支持的丰富特性需要和构建工具进行无缝对接,例如 Scala 的 Macro 需要和构建工具的增量编译密切配合...SBT 会自动进行增量编译。...执行如下命令则会打印各个任务的执行时间: sbt -Dsbt.task.timings=true clean run 如果是Windows的话需要在参数两边加引号: sbt "-Dsbt.task.timings

1.8K20

如何在Ubuntu20上离线安装joern(包括sbt和scala)

,然后将其脚本和压缩包复制进入你的home目录下,然后运行脚本既可,这样就可以使用共享文件夹(由于机器的问题没有离线机器上的图片) 如果你导入镜像后你的离线环境下的other locations的位置会有一个新的磁盘...=/your/path/to/scala/bin:$PATH 加入完成后按ctrl+x键,再按shift+y,按回车即可 使用指令让环境变量生效 source ~/.bashrc 这样我们的sbt和scala...: 我们进入联网的机器中,进入joern的安装目录: 这是编译下载之后的joern的目录,如果没有编译和打包是会有很多链接是断开的 我们进入终端,执行编译指令: sbt stage 但是由于...joern的一些依赖项需要外网,所以前提是你的网络状态是可以访问外网 这个下载周期比较长,可能会需要多次尝试,另外就是内存的问题,最好是分配最大的内存,不然会被杀死很多进程导致下载依赖项失败...,所以一部分情况下你必须得自己单独将所有的jar包打包然后(我用的是tar.gz的压缩包格式)传入离线环境,然后解压到joern的目录下 当然,~/.ivy2和 ~/.sbt这两个依赖项可不是放入

23810
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Play For Scala 开发指南 - 第4章 第一个Play项目

    通过SBT命令行创建 这种方式需要你事先安装SBT,然后执行创建命令: sbt new playframework/play-scala-seed.g8 命令执行成功后,在当前目录下会生成类似Starter...发布Play项目 Play项目的发布也是通过sbt命令完成的,进入命令行执行sbt dist,命令执行完成后,在target\universal目录下会生成应用文件play-scala-starter-example...如果修改了Play项目的某些配置,但是在IDEA中没有立即生效,单击右侧SBT projects窗口左上角的蓝色刷新按钮 即可。...实际上Play项目并不依赖于IDE开发环境,上文中说过,Play项目其实是SBT项目,通过SBT在命令行可以完成Play项目生命周期的整个构建过程。...这是由于模板函数index是在项目编译过程中动态生成的,所以新增的模板函数在IDEA中会提示找不到,这时只要在命令行执行sbt compile,然后在SBT projects窗口单击蓝色刷新按钮,错误即会消失

    2.8K40

    Scala学习系列(二)——环境安装配置

    :/usr/java/scala-2.13.1/bin 使用ScalaREPL Scala提供了REPL 交互式解释环境 在我们安装好scala 可以直接在命令行输入scala进入 三、通过Sbt安装...以后我们添加依赖也是在这里 未来我们会仔细介绍 如果项目构建不成功 注意查看本机sbt scala版本是否能对应 报错idea 使用sbt构建工程时错误unresolved dependency...: org.scala-sbt#sbt;0.13.8: not found 1.出现场景:在idea中使用sbt构建工程时,使用默认的sbt版本为0.13.8,而我本地安装的sbt版本是0.13.7,所以在仓库中找不到对应的...创建项目 打开cmd命令行 cd 到一个空文件夹 运行以下命令sbt new scala/hello-world.g8。...五、Scala Java同时运行 sbt是scala专属的 所以如果我们有scala和java代码同时执行的情况时 需要新建一个maven工程 pom文件写法如下: <dependencies

    3.4K20

    geotrellis使用初探

    Geotrellis主要涉及到的知识点包括Scala,sbt,Spark,Akka。貌似每项都不是善茬,基本都没有怎么接触过,除了Scala稍微接触过,那么只能完全从头开始学习了。...完全找不到门路,可能是一个新的处理框架,基本没有人使用过,查不到任何有用的信息,怎么办?那只能自己摸索。 程序员第二步,自己摸索。...看了一下,geotrellis开源了一个例子(https://github.com/geotrellis/geotrellis-chatta-demo),我最喜欢先跑个例子看一下,这样好像自己已经牛逼的搞定了他.../sbt run即可,来来回回折腾了好多次每次都是error error,但是不要灰心,只需要一直./sbt run。...然后我想既然spark-shell行不通,那么我为什么不直接把框架拿到本地做测试,刚好又发现了一个demo(https://github.com/geotrellis/geotrellis-sbt-template

    1.6K80

    【腾讯云的1001种玩法】Ubuntu 14.04 Spark单机环境搭建与初步学习

    因为我直接从Java官网上下载的,而官网下载之前需要确认协议,如果直接复制官网下载地址则会出现下载的是个网页的情况。...所以只能通过一个带有AuthParam序号的下载地址下载后再修改文件名了。如果有更好的方法的朋友,请联系我告知。谢谢!...Spark 终端 我觉得 Spark 非常亲民的一点是它提供了一个交互式的命令行终端,这样用户就可以快速地测试一些命令和语句,而无需每次都保存代码脚本然后调用执行,这对于 R 和 Python 用户来说是非常顺心的一件事...如果出现了像图中 scala> 这样的提示符,就说明 Spark 安装成功。这里的 scala 指的是 Scala 编程语言。...虽然这需要花费一些额外的时间,但好在 Scala 的语法非常直观,基本上通过例子就可以模仿写出自己的程序来。 如果对 Scala 语言感兴趣,可以参考这份教程来了解其基本的语法。

    4.2K10

    基于spark源码做单元测试

    现在做基于spark单元测试的调试,是为了更方便对Spark源码做修改及测试,方便更深入了解spark的运行原理。...基于idea 比如我们要运行core模块中 DAGSchedulerSuite.scala "SPARK-3353" 案例: 选中test,右键,可以run ;如果打了断点的话,可以debug ?...使用idea运行调试testcase简单方便,但由于一些原因,如果idea不能搞定的话,可以通过sbt来运行和调试testcase 基于SBT SBT 配置 Spark SBT build 中包含多个...在sbt命令中输入: sbt (core)> set javaOptions in Test += "-agentlib:jdwp=transport=dt_socket,server=n,suspend...编写测试用例 Spark为了确保代码风格一致规范,在项目引入了scala-style checker(比如每个代码文件头部需要定义Apache的License注释;import的顺序等),如果代码不合规范

    1.9K40

    负载,性能测试工具-Gatling

    打开文件限制 大多数操作系统都可以使用该命令更改打开文件限制。例:ulimit -n $ ulimit -n 65536 但是,这只会更改当前shell会话的限制。.../etc/pam.d/sshd 如果您通过SSH访问该计算机 另外,如果访问通过SSH的机器,一定要具有在UseLogin yes``/etc/ssh/sshd_config 要进行更多调整...与OSX一样,操作系统有自己的棘手方法来发现要运行的Java版本,因此最终可能会运行与您告诉您的版本不同的版本。如果您遇到奇怪的错误,并且您希望运行JDK8,则可能需要明确设置JAVA_HOME。...使用IDE 您可以使用任何Scala语法高亮的文本编辑器编辑Simulation类。但如果您是开发人员,您很可能希望将自己喜欢的IDE与Gatling一起使用。...原创不易,如果感觉不错,希望给个推荐!您的支持是我写作的最大动力!

    3.7K30

    geotrellis使用(六)Scala并发(并行)编程

    安装完成之后,在IDEA中安装sbt插件,然后选择创建SBT项目,与普通Scala语言最主要的不同是会创建一个build.sbt文件,这个文件主要记录的就是项目的依赖等,要添加依赖就可以添加如下两行代码...一般lib的官网中均会有写明自己的上述语句供使用者方便添加自己lib依赖。 三、并发编程      下面为大家介绍如何使用Scala进行并发编程。...引入akka只需要在build.sbt文件中添加在SBT操作一节中介绍的代码即可,但是要根据自己的Scala版本以及要使用的akka版本进行修改。添加完之后IDEA会自动去下载akka的actor包。...这样就可建立一个remoteActor的实例,可以通过该实例向remoteActor发送消息。     ..." 4 } 5 } 四、总结       本文为大家简单介绍了scala基础、sbt简单操作、原生actor、akka的并发以及并行方式actor,这些是我在学习Geotrellis的过程中学习基础知识的一部分经验总结和梳理

    1.4K50

    Spark 开发环境搭建

    2、SSH 公钥免密登录授权 hdfs 是一个集群服务,我们可以在 NameNode 节点上操作所有的 slave 节点(DataNode),hadoop 是通过封装 ssh 远程 shell 实现的...(sbin/slaves.sh 内通过 ssh 远程起停 slave 节点上的服务)。...3.5 启动服务 $ sbin/start-dfs.sh 启动集群只需上面一行命令,如果没有什么端口冲突,应该是一切顺利了。...3.7 挂接到本地文件系统 上面通过 bin/hdfs 工具的方式访问 HDFS 有两个弊端: 不如直接使用 ls, mkdir, cp 等命令操作本地文件系统方便; 每次执行都需要重新启动 Java...我这里选择 sbt,原因是这三者虽然功能上难分伯仲,但 sbt 与 scala 具备天然的亲和性,它自身是使用 scala 编写的,其工程定义文件实际也是一个 scala 程序,使用它构建 scala

    6.9K21

    sbt的依赖管理逻辑

    %%:用于 Scala 库依赖,会自动添加当前项目的 Scala 版本号。...此外还可以通过检查依赖树来帮助分析和解决依赖冲突问题,但是得先添加插件, 然后再使用 sbt dependencyTree 命令来查看项目的依赖树: addSbtPlugin("net.virtual-void...例如,如果项目 A 依赖于库 B 和 C,而库 B 又依赖于库 D,则依赖关系树如下所示: A ├── B │ └── D └── C sbt 就是通过使用这种树结构来管理依赖,以确保所有的依赖关系都能正确解析并下载...Maven 通常执行全量编译,这在大型项目中会导致编译时间较长。此外,Maven 的命令行工具需要每次执行任务时重新启动 JVM,这可能导致较长的启动时间。...动态构建定义 sbt 构建文件使用 Scala 语言,可以通过使用Scala语言的强大特性编写复杂的逻辑和动态配置。

    17910

    SBT无痛入门指南 顶

    SBT 的野心很大,采用Scala编程语言本身编写配置文件,这使得它稍显另类,虽然增强了灵活性,但是对于初学者来说同时也增加了上手难度。...另外由于SBT默认从国外下载依赖,导致第一次构建非常缓慢,使用体验非常糟糕! 如果你是一名Scala初学者,本文希望帮你减轻一些第一次使用的痛苦。...如果是Windows系统,则进入CMD执行如下命令: cd C:\Users\USER_NAME mkdir .sbt cd .sbt 如果是Mac或Linux系统,则进入Bash执行如下命令:... 上通过 set 命令进行设置, set SBT_OPTS="-Dsbt.override.build.repos=true" 在 Mac/Linux 上使用 export 命令进行设置, export...=true 注意,如果由于某种原因,  repositories 文件并不在默认的  .sbt 目录下,则需要通过  -Dsbt.repository.config 指定  repositories

    5.4K40

    30分钟--Spark快速入门指南

    ,按官网教程安装 sbt 0.13.9 后,使用时可能存在网络问题,无法下载依赖包,导致 sbt 无法正常使用,需要进行一定的修改。.../sbt sbt-version Shell 命令 下载过程中可能会类似 “Server access Error: java.security.ProviderException: java.security.KeyException...验证 sbt 是否可用 如果由于网络问题无法下载依赖,导致 sbt 无法正确运行的话,可以下载笔者提供的离线依赖包 sbt-0.13.9-repo.tar.gz 到本地中(依赖包的本地位置为 ~/.sbt...SimpleApp的文件结构 接着,我们就可以通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包,如果这边遇到网络问题无法成功,也请下载上述安装 sbt 提到的离线依赖包 sbt-0.13.9...-repo.tar.gz ): /usr/local/sbt/sbt package Shell 命令 打包成功的话,会输出如下图内容: ?

    3.6K90

    Spark历险记之编译和远程任务提交

    Spark使用Scala语言进行实现,它是一种面向对象、函数式编程语言,能够像操作本地集合对象一样轻松地操作分布式数据集(Scala 提供一个称为 Actor 的并行模型,其中Actor通过它的收件箱来发送和接收非同步信息而不是共享数据...环境介绍 序号 应用 说明 1 CDH Hadoop2.6 如果想跑在hadoop上,则需要安装 2 JDK7 底层依赖 3 Scala2.11.7 底层依赖 4 Maven3.3.3 构建编译打包...scala export PATH=$PATH:$SCALA_HOME/bin 3,下载spark,这里推荐下载spark源码,自己编译所需对应的hadoop版本,虽然spark官网也提供了二进制的包...我这里用的是spark1.4.0的版本,所以只能用scala2.11.x的版本,这就需要重新编译spark了,另一个原因也需要和对应的haodop版本编译对应。...这个问题,我在stackoverflow上提问了2天,都没人知道,最后各种疯狂的找资料才发现就是软件版本不一致导致的,真是大意失荆州了,解铃还须系铃人!

    2K90

    如何使用Scala和Selenium爬取知乎视频并保存到本地

    Scala开发环境:可以从Scala官网下载并安装Scala。安装完成后,可以通过命令行输入scala -version来验证是否安装成功。...构建工具:为了方便项目管理和依赖管理,推荐使用sbt(Scala Build Tool)作为构建工具。可以从sbt官网下载并安装sbt。...关闭浏览器 最后,关闭浏览器: scala // 关闭浏览器 driver.quit() } } 四、运行爬虫 在项目根目录下,打开命令行,输入sbt run命令,即可运行爬虫程序...合理使用资源:避免频繁请求网站,以免给网站服务器带来过大压力,导致网站瘫痪。 处理异常情况:在实际运行过程中,可能会遇到各种异常情况,如网络请求超时、视频URL无效等。...代理服务器的有效性:确保代理服务器有效且可用,代理信息(用户名、密码、地址、端口)正确无误。如果代理服务器不可用,需要及时更换。

    9710

    sbt 项目导入问题

    首先要明白 sbt 其实是一个 Scala 或者 Java 的一个构建工具,使用上的目的和方式其实跟 Maven 是大相径庭的,如果你是 Maven 的老司机,要解决 sbt 的问题,应该不难。...options -Dsbt.log.format=true # 这是我自己添加的 -Dsbt.repository.config=/usr/local/sbt/conf/repositories...: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion...这里需要提示,当用命令行构建项目的时候,上述参数应该是这样的格式 -Dprop=value,以下是我构建项目的时候,输入命令的一个例子。...注意需要留意的是 sbt-lauch.jar,如果不配置,那么用的是 IDEA 的内置的 sbt,为了更灵活的配置 sbt 的一些设置,建议还是使用自己下载安装的 sbt,并且设置 VM 参数,原理等同于上节说的命令行模式的参数

    2.5K40

    Scala学习路线

    此时如果看Scala in Depth>>这本书,基本上很难看得下去。 当我们决定把这些都学会的时候,会惊讶的发现,难度变成了这样: ?...Java中能做到的事,Scala都能做并且做的更好 通过各种资料介绍,我们感觉scala比Java要强大的多,有时候会认为,只要Java中能做到的事,在Scala中都能做并且做的更好。...如果以表达能力看,它比动态语言要弱要难看。可以通过查看sbt和gradle的构建文件来获取直观感受 对类型系统方面的能力要求高。...但是实际情况是,如果不能尽早的掌握足够的类型系统知识,在使用Scala时我们几乎寸步难行。我们在编译Scala代码时,遇到的最多错误就是各种类型不匹配,如果不熟悉的话,可能要卡几个小时都解决不了。...我认为我现在学习Scala的原因是:它为我打开了编程世界的一扇门,让我看到了与之前完全不同的世界。通过对它的学习,我可以强迫自己学习更多编程知识,提高自己的能力,从而有机会跟更多牛人交流。

    2.4K50
    领券