Tag Archives: sbt

sbt 0.7

前言:sbt是一个用scala写的构建工具,跟maven、gradle差不多,目前最新的版本是0.11。不过本文是讲sbt 0.7的使用方法,sbt继承了scala优良的不兼容传统,从0.7升级到0.10是完全不兼容的两个版本,虽然0.7已经基本没人用了,但还是有一些开源项目还没切换到0.11上。我这篇文章比较早就完成了,但因为各种原因现在才发出来。 sbt 0.7的项目地址是 http://code.google.com/p/simple-build-tool/,官方为了让大家尽快升级到0.10以上的版本,已经将这个地址里面大部分文档都删除了,目前要找到0.7的资料已经很难了,建议大家新项目还是直接用0.11。 先来看一下sbt(没有特殊说明的话,以下sbt都是指sbt 0.7)的配置结构,sbt使用maven的约定目录来放置项目文件,比如说src/main/java、src/main/resources等等,当然这是可以通过配置进行修改。而sbt本身的配置,是放在项目根目录下的project目录下,如果你见到一些scala的开源项目有个project目录不要觉得奇怪,那是sbt的配置。如果你的项目是多个子项目组成的,只需要在总的根目录下进行sbt配置即可,不需要像maven那样每个项目下配置pom.xml。 一般来说,sbt的配置有以下三个文件 /project/build.properties /project/build/MyProject.scala (文件名随意) /project/plugins/Plugins.scala (文件名随意) 第一个文件是项目的基本信息配置,这里一个范例 project.organization=org.sparkle project.name=myproject project.version=1.0-SNAPSHOT sbt.version=0.7.7 build.scala.versions=2.9.0-1 前三项对应maven里面的groupId、artifactId、version 后面两项分别定义项目所用的sbt和scala版本 第二个文件是主要的配置文件,得益于scala强大的描述能力,项目配置直接用实际的scala代码来编写,具体的含义直接看代码中的注释 import sbt._   class MyProject(info: ProjectInfo) extends ParentProject(info) { // 通过at方法定义的变量自动成为额外的jar下载路径 val mavenLocal = "Local Maven Repository" at … Continue reading

Posted in Java | Tagged , | 3 Comments