我只是学习scala来自groovy/java世界.我的第一个脚本需要第三方库TagSoup进行XML/HTML解析,我不得不以旧学校的方式添加它:即从其开发人员网站下载TagSoup,然后将其添加到类路径中.
有没有办法在我的scala脚本中解析第三方库?我在想常春藤,我在想Grape.
想法?
对我来说最有效的答案是安装n8:
curl https://raw.github.com/n8han/conscript/master/setup.sh | sh
cs harrah/xsbt --branch v0.11.0
Run Code Online (Sandbox Code Playgroud)
然后我可以很容易地导入tagsoup example.scala
/***
libraryDependencies ++= Seq(
"org.ccil.cowan.tagsoup" % "tagsoup" % "1.2.1"
)
*/
def getLocation(address:String) = {
...
}
Run Code Online (Sandbox Code Playgroud)
并使用scalas运行:
scalas example.scala
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助!
Dan*_*ral 12
虽然答案是SBT,但在考虑脚本的情况下可能会更有帮助.见,SBT有脚本一件特殊的事情,如所描述这里.一旦你scalas安装,通过安装征兵,然后运行cs harrah/xsbt --branch v0.11.0自己写或多或少这样的,或者干脆:
#!/bin/sh
java -Dsbt.main.class=sbt.ScriptMain \
-Dsbt.boot.directory=/home/user/.sbt/boot \
-jar sbt-launch.jar "$@"
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样写你的脚本:
#!/usr/bin/env scalas
!#
/***
scalaVersion := "2.9.1"
libraryDependencies ++= Seq(
"net.databinder" %% "dispatch-twitter" % "0.8.3",
"net.databinder" %% "dispatch-http" % "0.8.3"
)
*/
import dispatch.{ json, Http, Request }
import dispatch.twitter.Search
import json.{ Js, JsObject }
def process(param: JsObject) = {
val Search.text(txt) = param
val Search.from_user(usr) = param
val Search.created_at(time) = param
"(" + time + ")" + usr + ": " + txt
}
Http.x((Search("#scala") lang "en") ~> (_ map process foreach println))
Run Code Online (Sandbox Code Playgroud)
您可能也对paulp的xsbtscript感兴趣,它创建了一个与之xsbtscript相同的shell scalas(我猜后者是基于前者的),其优点是,如果没有安装conscript或sbt,你可以用它来做好准备:
curl https://raw.github.com/paulp/xsbtscript/master/setup.sh | sh
Run Code Online (Sandbox Code Playgroud)
请注意,它会安装sbt和conscript.
而且还有paulp的sbt-extras,这是另一种"sbt"命令行,有更多选项.请注意,它仍然是sbt,只是启动它的shell脚本更智能.
作为答案放置,因为它不适合评论长度约束.
除了@Chris的答案,我想向你推荐一些公共场所(我个人认为这绝对是一流的).虽然sbt表示简单构建工具,但有时首次使用sbt设置项目并不容易(所有这些都有布局,配置等).
使用giter(g8)创建具有预定义模板的新项目(g8从github.com获取).有模板的Android应用程序,未经过滤和更多.有时它们默认包含一些依赖项.要创建布局,只需输入:
g8 gseitz/android-sbt-project
Run Code Online (Sandbox Code Playgroud)
(Android应用程序的示例)
或者,使用np pluggin for sbt,它提供交互式输入方式来创建新项目和基本布局.
| 归档时间: |
|
| 查看次数: |
2397 次 |
| 最近记录: |