什么';s Scala+;sbt工作流相当于Ruby+;带Gemfile的Bundler?
我在学习Scala时玩得很开心,但我最难掌握如何建立一个开发环境 红宝石色什么';s Scala+;sbt工作流相当于Ruby+;带Gemfile的Bundler?,scala,development-environment,sbt,Scala,Development Environment,Sbt,我在学习Scala时玩得很开心,但我最难掌握如何建立一个开发环境 红宝石色 文件层次结构 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 $ ru
- 文件层次结构
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
$ sbt run
- 使用Scala复制上述内容的最小文件层次结构是什么李>
- 以下是Maven上可用的Java Mechanize库:
- 运行
并下载Mechanize依赖项后,如何识别使其工作所需的sbt
语句import
val agent = new MechanizeAgent val page: HtmlDocument = agent.get("http://www.google.com")
理想情况下,在依赖Eclipse之前,我希望Scala开发只使用Vim和命令行。sbt使用一个名为ivy的库从主maven存储库导入项目。sbt预配置了几个存储库,包括主maven存储库 一旦这些库被“解析”(下载到您的计算机并连接到您的项目),eclipse插件将为生成的eclipse项目中的每个jar创建依赖项 下面是如何配置它的 sbt管理的依赖关系 在项目的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插件
您可以通过在~/.sbt/plugins/plugins.sbt创建一个文件并将以下行放入其中,从而全局安装sbt eclipse插件:
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")
无论何时添加或更新依赖项,请运行以下命令并刷新eclipse项目:
$ sbt eclipse
我想比ffk的答案更进一步,做更多的牵手工作,并实际提供Ruby示例到Scala+sbt的直接翻译
- 文件层次结构
Crawler/ +- build.sbt +- src/ +- main/ +- scala/ +- Crawler.scala
- build.sbt
libraryDependencies += "com.gistlabs" % "mechanize" % "0.11.0"
- scala爬虫
import com.gistlabs.mechanize.MechanizeAgent import com.gistlabs.mechanize.document.Document object Crawler extends App { val agent = new MechanizeAgent val page: Document = agent.get("http://google.com") }
- 安装依赖项并运行它
$ bundle install $ ruby app.rb
$ sbt run
// in ~/.sbt/plugins/build.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")
然后,返回Scala应用程序的根目录:
$ sbt eclipse
or
$ gen-idea
之后,您应该能够在各自的IDE中打开它
注意:每当您在build.sbt中添加依赖项时,您都需要重新运行sbt eclipse
/genidea
命令,以便IDE可以选择它