(一)创建项目
1、先创建一个目录,用于放置目录 中的所有内容,如
mkdir sbtdemo
 
2、创建相关的目录
吐槽一下,好怀念maven,帮你直接生成,尤其是eclipse中的new maven project
据说sbt也是可以的,使用一个叫做giter8的插件,但好麻烦,有兴趣的可以试一下
touch build.sbt
 mkdir src
 mkdir src/main
 mkdir src/main/java
 mkdir src/main/resources
 mkdir src/main/scala
 mkdir src/test
 mkdir src/test/java
 mkdir src/test/resources
 mkdir src/test/scala
 mkdir project
 
3、在build.sbt中输入内容:

name := "sbtdemo"

organization := "com.lujinhong"

version := "0.0.1"

sbtPlugin := true

scalaVersion := "2.10.5"

 

 

(二)转为eclipse可以导入的项目

使用了这个插件https://github.com/typesafehub/sbteclipse

 

1、在~/.sbt/0.13/plugins/plugins.sbt中输入以下内容:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0”)

 

 

2、生成eclipse相关的文件

sbt eclipse

此时就生成了.project文件

 

3、在eclipse中导入项目即可

 

(三)创建scala文件

1、在src/main/scala中创建SbtDemo.scala,内容如下:

object SbtDemo {
def main(args: Array[String]) = {
val demo = new Demo
demo.printHello
}
} class Demo{
def printHello() = {
print("Hello World");
} }

 

2、运行项目

 

 $sbt run

[info] Loading global plugins from /Users/liaoliuqing/.sbt/0.13/plugins

[info] Set current project to sbtdemo (in build file:/Users/liaoliuqing/99_Project/1_myCodes/sbtdemo/)

[info] Compiling 1 Scala source to /Users/liaoliuqing/99_Project/1_myCodes/sbtdemo/target/scala-2.10/sbt-0.13/classes...

[info] 'compiler-interface' not yet compiled for Scala 2.10.5. Compiling...

[info]   Compilation completed in 24.361 s

[info] Running SbtDemo

Hello World[success] Total time: 26 s, completed 2015-7-14 18:48:37

 
3、或者打包项目:
sbt clean package
此时生成了./target/scala-2.10/sbt-0.13/sbtdemo-0.0.1.jar文件
 
(四)添加依赖
在built.sbt中添加以下内容

// 添加源代码编译或者运行期间使用的依赖
libraryDependencies += "ch.qos.logback" % "logback-core" % "1.0.0"

libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.0.0"

// 或者

libraryDependencies ++= Seq(
"ch.qos.logback" % "logback-core" % "1.0.0",
"ch.qos.logback" % "logback-classic" % "1.0.0",
...
)

重新编译即可

依赖的内容与maven类似,也可以通过maven repository查询

 

 

另外,好消息:使用Idea一切搞定,坏消息,sbt太慢太慢了,根本无法接受,国内的镜像也很少了,还是先用maven吧。

sbt教程的更多相关文章

  1. sbt 以及 IDEA sbt 插件安装配置教程(转)

    1. 在Windows中安装sbt 下载 官网: http://www.scala-sbt.org/ github: https://github.com/sbt/sbt/releases/downl ...

  2. sbt结合IDEA对Spark进行断点调试开发

    笔者出于工作及学习的目的,经常与Spark源码打交道,也难免对Spark源码做修改及测试.本人一向讲究借助工具提升效率,开发Spark过程中也在摸索如何更加顺畅的对源码进行调试. Spark基于Sca ...

  3. Spark开发环境搭建(IDEA、Scala、SVN、SBT)

    软件版本 软件信息 软件名称 版本 下载地址 备注 Java 1.8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...

  4. 【配置、开发】Spark入门教程[2]

    本教程源于2016年3月出版书籍<Spark原理.机制及应用> ,在此以知识共享为初衷公开部分内容,如有兴趣,请支持正版书籍. Spark为使用者提供了大量的工具和脚本文件,使得其部署与开 ...

  5. jquery教程-Jquery 获取标签个数 size()函数用法

    jquery教程-Jquery 获取标签个数 size()函数用法,size() 方法返回被 jQuery 选择器匹配的元素的数量. 语法 $(selector).size()     jQuery ...

  6. Oracle中RMAN基本命令教程

    一.target--连接数据库 1.本地: [oracle@oracle ~]$ rman target / 2.远程: [oracle@oracle ~]$ rman target sys/orac ...

  7. PySpark初级教程——第一步大数据分析(附代码实现)

    概述 数据正以前所未有的速度与日俱增 如何存储.处理和使用这些数据来进行机器学习?spark正可以应对这些问题 了解Spark是什么,它是如何工作的,以及涉及的不同组件是什么 简介 我们正在以前所未有 ...

  8. Spring Boot 2.x基础教程:使用Flyway管理数据库版本

    之前已经介绍了很多在Spring Boot中使用MySQL的案例,包含了Spring Boot最原始的JdbcTemplate.Spring Data JPA以及我们国内最常用的MyBatis.同时, ...

  9. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

随机推荐

  1. BZOJ 4582 贪心

    思路: 显然是个贪心 排个序 然后扫几遍就好了 (重叠的区间不能取) //By SiriusRen #include <cstdio> #include <algorithm> ...

  2. POJ 2133 暴搜

    题意: 思路: 按照题意暴搜 注意 如果目标串==给的串 答案是2 //By SiriurRen #include <cstdio> #include <cstring> #i ...

  3. 2229: [Zjoi2011]最小割(最小割树)

    Description 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中 ...

  4. Oracle与MySQL的转化差异

    1.nvl函数.        Oracle 中 : nvl (join_count , 0)        MySQL中:if(join_count is null,'0',join_count)  ...

  5. UVa 11743 - Credit Check

    题目:推断卡号是否合法,给你4组4位的数字.偶数位的2倍的位和加上奇数位的和,推断尾数是否为0. 分析:简单题,模拟. 直接依照提议推断就可以. 说明:460题,加油! #include <io ...

  6. [Javascript] Classify JSON text data with machine learning in Natural

    In this lesson, we will learn how to train a Naive Bayes classifier and a Logistic Regression classi ...

  7. AIX中经常使用的SMIT 的使用

    AIX中经常使用的SMIT 的使用 1.  smit 的日志文件 (1)$HOME/smit.log      记录了所訪问的全部菜单.对话内容,所运行的命令和输出结果 在 SMIT 会话中出现的全部 ...

  8. scroll- 滑动条风格调整

    <item name="scrollbarFadeDuration">250</item> <item name="scrollbarDef ...

  9. 1.24 Python知识进阶 - 类与对象

    类 语法格式: class Dog(object): print("the dog is barking ...") Dog为类名,object为要继承的基类,Dog类会从基类ob ...

  10. 使用缓存Memcache存储更新微信access token

    关键字:Memcache access_token 更新 存储 7200 本文介绍如何使用缓存Memcache存储及更新 access token的方法. 一.Access Token access_ ...