sbt构建scala工程

利用sbt构建scala工程,其中引用了akka的包和Eclipse插件,其中Eclipse插件用来生成Eclipse工程。

首先写好scala文件,在此sbt构建工程师自动按照src/main/scala,src/main/java,src/main/resources;src/test/scala,src/test/java,src/test/resources

来寻找然后构建工程。在工程目录下。最基本的要有build.sbt和project/,在project中有个plugins.sbt是设计插件的配置的,这两个文件如下。

我的工程配置文件如下:

1,build.sbt文件:

name := "Segral"

organization := "edu.neu.ise.cs"

version := "0.1"

scalaVersion := "2.10.3"

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

libraryDependencies ++= Seq("com.typesafe.akka" %% "akka-actor" % "2.3.0",
                        "org.scala-lang" % "scala-actors" % "2.10.3")

2,project中的plugins.sbt文件,主要用来配置eclipse插件:

resolvers += Resolver.url("artifactory", url("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)

resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"

resolvers += "Spray Repository" at "http://repo.spray.cc/"

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.2.0")

执行sbt,然后执行run,可以看见终端的提示为(由于有多个main函数的文件,所以你要选择序号运行某个文件)比如:

[casa@casa Segral]$ sbt
[info] Loading project definition from /home/casa/git/Segral/project
[info] Set current project to Segral (in build file:/home/casa/git/Segral/)
> run

Multiple main classes detected, select one to run:

 [1] main.scala.actor.basicActorTest
 [2] main.scala.actor.akkaActorTest
 [3] main.scala.db.join.hashjoin.HashTable
 [4] main.scala.common.Schema
 [5] main.scala.db.join.hashjoin.Hashjoin

Enter number: 
选择你要执行的文件的序号,然后就可以看见执行结果。下面列出一个简单的测试文件,可以看见在build.sbt文件中,你已经加入了akka的包,所以在我的工程中的main/scala/actor/下的akkaActorTest.scala文件中,可以直接引用akka的包,sbt编译的时候直接从resolver解析器解析出来的jar包中下载。

package main.scala.actor

import akka.actor.Actor
import akka.actor.ActorSystem
import akka.actor.Props

class akkaActorTest extends Actor{
  def receive = {
    case "hi" => println("cdcd");
  }
}

object akkaActorTest{
  def main(args:Array[String]){
    val system=ActorSystem("mySystem");
    val myactor=system.actorOf(Props[akkaActorTest], name="akkaTest")
    val message="hi";
    myactor ! message;
  }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值