如何在IntelliJ IDEA中设置使用git库的scala项目

时间:2012-01-20 12:09:58

标签: scala intellij-idea finagle

我想尝试一下IntelliJ IDEA,但我不知道如何开始。

我只是想创建一个使用github上托管的Finagle Echo Server作为起点的新项目。

假设我开始在Mac上进行全新安装。我安装了IDEA并添加了Scala和SBT插件。我应该采取哪些步骤来创建一个使用Finagle并在http服务器示例中运行代码的项目?

请帮忙。我意识到我的问题听起来像一个愚蠢的问题,但是有很多不同的方法来处理来自SBT命令行,Scala-IDE,Idea等的Scala项目,我根本不知道如何让舒适的开发环境变得更好

2 个答案:

答案 0 :(得分:2)

此答案假定您要使用SBT。此外,我应该确定这是我通常的程序,但我没有确认它特别适用于finagle。

<强> 0。使用Scala和SBT插件安装IDEA。(由OP完成;此处为其他人)

<强> 1。安装SBT(自动方法)。将this handy sbt runner script复制到一个方便的位置(或者,如果你想让它保持最新,git clone https://github.com/paulp/sbt-extras.git并将脚本符号链接到〜/ bin),确保它是可执行的。它将根据build.properties中指定的sbt.version自动下载所需的任何内容。

<强> 2。安装sbt-idea。 sbt-idea是一个SBT插件(不是IDEA插件),可以从SBT项目生成IDEA模块文件。在全球范围内安装它很方便,因为它不是特定于项目的。您无需手动下载任何内容;只需将其添加到〜/ .sbt / plugins / build.sbt:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.0")

第3。创建SBT项目。为项目创建一个目录,并在其中创建一个“项目”目录。按如下方式创建project / Build.scala:

import sbt._

object MyBuild extends Build {
  lazy val root = Project("root", file(".")) dependsOn finagle
  lazy val finagle = RootProject(uri("git://github.com/twitter/finagle.git"))
  }

有关重新配置项目的更多选项,请参阅SBT文档。注意我们必须在这里使用Full Configuration(不仅仅是build.sbt)来表达github依赖。

创建project / build.properties也是个好主意:

sbt.version=0.11.2
project.version=0.1
build.scala.versions=2.9.1

<强> 4。生成IDEA项目。 cd到包含基于sbt的项目的目录。输入“sbt gen-idea”。如果一切顺利,该目录现在将具有“.idea”和“.idea_modules”子目录。

<强> 5。在IDEA中打开项目。可能需要在项目设置中修复目标JDK版本。除此之外,项目应该准备就绪,所有源路径,库依赖关系等都已正确配置。

答案 1 :(得分:2)

考虑到SBT版本问题,手动解决方案不需要您为项目使用SBT可能会更直接。不过,你仍然会使用SBT构建finagle。

  1. 按照上面的第1步安装SBT runner脚本。 (它也可以处理SBT 0.7项目。)
  2. 手动git clone git://github.com/twitter/finagle.git
  3. cd到finagle目录并输入“sbt package”。它的依赖关系最终应该在lib_managed下,并且它应该在目标/或者某些内容下生成finagle jars(只需注意命令输出中的位置)。
  4. 从头开始创建一个IDEA项目,并手动将依赖项添加到finagle jar及其依赖项(在Project Structure-&gt; Dependencies下)。