zoukankan      html  css  js  c++  java
  • 使用SBT构建Scala项目

    既然决定要在Scala上下功夫,那就要下的彻底。我们入乡随俗,学一下SBT。sbt使用ivy作为库管理工具。ivy默认把library repository建在user home下面。

    安装SBT

    在SBT的官网(http://www.scala-sbt.org/)下载相应版本的SBT。

    wpsC448.tmp

    Windows环境下建议配置SBT的环境变量。(windows上搞开发真是越发蛋疼。)具体步骤不说了,就是把sbt/bin目录配置进PATH。

    wpsC459.tmp

    wpsC469.tmp

    在sbt/bin下有个sbt.bat,查看该bat文件。可以了解到该文件依赖于conf/sbtconfig.txt。

    在conf/sbtconfig.txt中添加:

    -Dfile.encoding=UTF8
    
    -Dsbt.boot.directory=d:/sbt-repository/boot/
    
    -Dsbt.ivy.home=d:/sbt-repository/

    说明:

    -Dsbt.boot.directory
    
    -Dsbt.ivy.home

    这两个是配置sbt.boot目录和ivy.home目录,用于缓存的jar包等信息存放位置。默认情况下jar包等信息存放于user home目录。

    另外运行sbt的一下JVM参数也可以在sbtconfig.txt中指定。

    SBT命令行环境

    在命令行中进入工程目录,输入sbt,进入sbt的命令行。(这里建议进入工程目录再运行sbt命令。)

    wpsC46A.tmp

    注意:第一次使用sbt命令,程序会去下载所需要的jar包。整个过程需要很长时间,要耐心等待。当窗口中出现">"提示符,则说明sbt已经成功启动。下载完成后,显示如下图:

    wpsC49A.tmp

     

    sbt命令

    帮助命令 help

    wpsC4AB.tmp

    查看命令的详细帮助文档

    wpsC4AC.tmp

    wpsC4BC.tmp

    显示项目配置 show

    show name :查看当前项目的名字。

    show libraryDependencies :查看当前项目依赖的库。

    使用Scala控制台 console

    输入console回车,会在当前会话内启动一个REPL。sbt会加载当前项目依赖的全部jar包和当前的代码。即可以在这个解释器里实验你的半成品。

    因为依赖的jar包也都被加载了,所以对于那些你可能还不熟悉的第三方库,你有可以在console里玩个痛快!

    运行Scala程序 run

    若项目有个对象带有方法(或者对象继承了 App 品质(trait)),那么可以通过输入 run 在 sbt 中运行代码。

    在 sbt 发现有多个 main 方法时,它会询问你想执行哪一个。

    使用SBT构建项目

    在项目目录下创建project目录。

    wpsC4BD.tmp

    hello-sbt是项目目录。project是其子目录。

    在project目录中创建build.properties文件。在文件中写入使用sbt的版本。若本机没有相应的版本,sbt会自动下载需要的版本。(本机使用当前最新sbt版本0.13.9)

    wpsC4BE.tmp

    在项目目录下,创建build.sbt,填入相应的项目配置

    wpsC4BF.tmp

    接着在命令行中,进入当前工程,使用sbt命令,当看见尖括号提示符,即表示创建成功。(注:第一次使用sbt需要等待很长时间去下载相应文件。)

    wpsC4D0.tmp

    将sbt项目导入到Eclipse

    在eclipse中使用sbt相应的配置文件,需要安装sbteclipse插件,sbteclipse插件会依据sbt的配置生成eclipse项目需要的文件。

    sbteclipse官方地址是 https://github.com/typesafehub/sbteclipse 其中有安装说明。

    在工程目录的project目录下创建plugins.sbt,其中添加插件内容。

    wpsC4D1.tmp

    执行reload命令

    wpsC4D2.tmp

    接着直接执行eclipse命令,即可生成eclipse项目文件。

    在eclipse中导入工程即可:

    wpsC4D3.tmp

    如果没有创建src目录,手动创建如下目录,然后在重新运行eclipse命令即可。

    src/main/scala

    src/main/java

    src/main/resources

    src/test/scala

    src/test/scala

    src/test/resources

    项目导入到Eclipse中显示如下:

    wpsC4E4.tmp

    若发现src目录下没有resources可以尝试手动创建,也可以在build.sbt中添加如下配置。

    EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource

    总之很简单。

    SBT与Scala程序

    编写HelloSBT程序。

    在src/main/scala中写入HelloSBT程序,生成的eclipse项目如下:

    wpsC4E5.tmp

    使用sbt编译程序

    在sbt命令行下输入compile

    wpsC4F5.tmp

    使用sbt运行程序

    在sbt命令行下输入run

    wpsC4F6.tmp

     

    将sbt项目导入到Inetllj IDEA

    工程导入Inetllj IDEA,需要选择build.sbt文件,而不是项目文件。Inetllj IDEA会显示对话框。

    wpsC4F7.tmp

    注意有一些高级选项,可以设置一下。

    SBT官网有中文版的文档:http://www.scala-sbt.org/0.13/tutorial/zh-cn/index.html

    --------------------------------------更多内容待写--------------------------------------------

  • 相关阅读:
    DICOM worklist工作原理
    HTTP协议详解
    一分钟理解什么是REST和RESTful
    EAccessViolation
    opener和parent的区别
    ASP.NET,C#后台调用前台javascript的五种方法
    DEP
    JavaScript三种弹出框(alert,confirm和prompt)用法举例
    卸载服务
    openssl nodejs https+客户端证书+usbkey
  • 原文地址:https://www.cnblogs.com/shijiaqi1066/p/5103735.html
Copyright © 2011-2022 走看看