加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在我的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脚本更聪明.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读