3

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

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

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

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

4

2 回答 2

2

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

0. 安装 IDEA,带有 Scala 和 SBT 插件。 (由 OP 完成;此处为其他人)

1.安装SBT(自动方式)。这个方便的 sbt 运行脚本复制到一个方便的位置(或者,如果你想保持它是最新的,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 项目。 为您的项目创建一个目录,并在其中创建一个“项目”目录。创建项目/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 文档。注意我们必须在这里使用完整配置(不仅仅是 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 版本。除此之外,项目应该已经准备就绪,所有源路径、库依赖项等都已正确配置。

于 2012-01-20T20:05:52.740 回答
2

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

  1. 按照上述步骤 1 安装 SBT 运行程序脚本。(它也可以处理 SBT 0.7 项目)。
  2. 手动git clone git://github.com/twitter/finagle.git
  3. cd 到 finagle 目录并输入“sbt package”。它的依赖项应该最终在 lib_managed 下,并且它应该在 target/ 或类似的下生成 finagle jars(只需注意命令输出中的位置)。
  4. 从头开始创建一个 IDEA 项目,并手动将依赖项添加到 finagle jar 及其依赖项(在 Project Structure->Dependencies 下)。
于 2012-01-20T20:30:24.970 回答