如何在我的scala脚本中获得自动依赖关系解析?
发布时间:2020-12-16 09:19:07 所属栏目:安全 来源:网络整理
导读:我正在学习从groovy / java世界中出来的scala.我的第一个脚本需要一个第三方库TagSoup来进行 XML / HTML解析,而且我不得不添加旧的学校方式:就是从开发者网站下载TagSoup,然后将其添加到类路径中. 有没有办法解决我的scala脚本中的第三方库?我在想艾因,我
我正在学习从groovy /
java世界中出来的scala.我的第一个脚本需要一个第三方库TagSoup来进行
XML / HTML解析,而且我不得不添加旧的学校方式:就是从开发者网站下载TagSoup,然后将其添加到类路径中.
有没有办法解决我的scala脚本中的第三方库?我在想艾因,我在想葡萄. 想法? 对我来说最适合的答案是安装n8: curl https://raw.github.com/n8han/conscript/master/setup.sh | sh cs harrah/xsbt --branch v0.11.0 那么我可以很容易地导入tagsoup example.scala /*** libraryDependencies ++= Seq( "org.ccil.cowan.tagsoup" % "tagsoup" % "1.2.1" ) */ def getLocation(address:String) = { ... } 并运行使用scalas: scalas example.scala 谢谢您的帮助! 解决方法
虽然答案是SBT,但在脚本被视为可能会更有帮助.参见,SBT对于脚本有一个特殊的东西,如
here所述.一旦你安装了scalas,可以通过安装
conscript然后运行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 "$@" 那么你可以这样写你的脚本: #!/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)) 您可能还对paulp的xsbtscript感兴趣,它创建了一个与scalas相同的xsbtscript shell(我猜想后者是基于前者),其优点是,没有安装任何一个或多个sbt,您可以准备好有了这个: curl https://raw.github.com/paulp/xsbtscript/master/setup.sh | sh 请注意,它安装sbt和conscript. 还有paulp的sbt-extras,这是一个替代的“sbt”命令行,有更多的选择.注意,它仍然是sbt,只是启动它的shell脚本更聪明. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |