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

什么是使用Gemfile的Ruby Bundler的Scala sbt工作流?

发布时间:2020-12-16 23:24:10 所属栏目:百科 来源:网络整理
导读:我正在学习 Scala,但我正在努力学习如何设置开发环境. 在Ruby中 文件层次结构 my_app/ | +-- Gemfile +-- app.rb Gemfile source :rubygemsgem "mechanize" app.rb require "mechanize"agent = Mechanize.newpage = agent.get("http://google.com") 安装依赖
我正在学习 Scala,但我正在努力学习如何设置开发环境.

在Ruby中

>文件层次结构

my_app/
  |
  +-- Gemfile
  +-- app.rb

> Gemfile

source :rubygems
gem "mechanize"

> app.rb

require "mechanize"
agent = Mechanize.new
page = agent.get("http://google.com")

>安装依赖项并运行它

$bundle install
$ruby app.rb

什么是Scala等同于sbt?

我正在阅读关于sbt以及package / imports / jar依赖项如何在Java / Scala中工作,但我似乎无法过滤掉这些必需品.

>使用Scala复制上述内容的最小文件层次结构是什么?
>这是Maven上可用的Java Mechanize lib:http://search.maven.org/#search|ga|1|mechanize
>运行sbt并下载Mechanize依赖项后,如何识别使其运行所需的必要导入语句?

val agent = new MechanizeAgent
val page: HtmlDocument = agent.get("http://www.google.com")

我通过手动导入.jars然后从库中导入包直到编译器/运行时错误停止并且代理工作,从而在Eclipse中工作.但这种经历令人沮丧,我来这里悔改.

这个问题的含义:Java生态系统/工作流程对我来说是压倒性的,因为他已经习惯了Ruby的轻松无IDE工作流程.我认为相当于一块骨头会给我一个开始建立的地方.

理想情况下,我希望在依赖Eclipse之前让Scala开发只使用Vim和命令行.

解决方法

sbt使用名为ivy的库从主maven存储库导入项目. sbt有一些预配置可供使用的存储库,包括主maven存储库.

一旦这些库被“解析”(下载到您的计算机并连接到您的项目),eclipse插件将为生成的eclipse项目中的每个jar创建依赖项.

以下是配置方法.

sbt托管依赖项

http://www.scala-sbt.org/release/docs/Getting-Started/Basic-Def.html#adding-library-dependencies

在项目的build.sbt文件中添加依赖项.如果添加依赖于特定版本的scala的依赖项,请在组和工件名称之间使用两个%%.不要忘记在build.sbt文件中的每个命令之间添加一个空行.

libraryDependencies += "com.gistlabs" % "mechanize" % "0.11.0"

libraryDependencies += "org.scalatest" %% "scalatest" % "1.6.1" % "test"

通过运行update命令更新依赖项:

$sbt update

sbt Eclipse插件

https://github.com/typesafehub/sbteclipse/wiki/Installing-sbteclipse

您可以通过在?/ .sbt / plugins / plugins.sbt中创建一个文件并将此行放入其中来全局安装sbt eclipse插件:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")

无论何时添加或更新依赖项,请运行以下命令并刷新eclipse项目:

$sbt eclipse

(编辑:李大同)

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

    推荐文章
      热点阅读