使用Intellij和Scala安装和使用库

时间:2014-01-16 02:37:14

标签: python scala import intellij-idea sbt

我正在尝试使用Scala的调度库,我来自Python背景,我可以

pip install dispatch

然后从那里导入。我假设Scala不是这种情况。 dispatch site有一个用sbt下载调度的脚本,但我的IDE无法识别该库。如何从项目中访问库? (我正在使用IntelliJ)

4 个答案:

答案 0 :(得分:6)

JVM社区实际上没有“安装”库的概念。您可以在构建工具(对于Scala,标准是SBT)中声明它们,并根据需要下载它们。 SBT使用Ivy,它会在~/.ivy2/cache中保留已下载的依赖项的本地缓存,以防万一您对保存下载的位置感到好奇。

创建一个名为build.sbt的文件,其中包含以下行:

libraryDependencies += "net.databinder.dispatch" %% "dispatch-core" % "0.11.0"

然后,您的IDE设置将基于您的构建配置。有两种方法:

  • 使用可以配置IDE的构建工具的插件。我相信这仍然是人们用来从Maven配置创建Eclipse项目的策略。 IntelliJ的最佳SBT插件是gen-idea。我推荐这种方法用于IntelliJ 12。

  • 使用可以理解构建配置的IDE插件。从IntelliJ 13开始,Scala插件可以很好地支持SBT。安装Scala插件,“打开”build.sbt文件,好像它是一个IntelliJ项目,然后你将获得一个基于该构建配置的新项目。

答案 1 :(得分:4)

在Scala世界中,SBT是库存构建工具,它提供了从Maven或Ivy2存储库中检索依赖关系的功能。因此,当您必须以某种方式找到所需的依赖关系时,一旦您将其合并到项目中的过程就像您所说明的Python构造一样简单。

至于查找依赖项,大多数Scala项目将包含您在项目Web站点上需要的某些位置的SBT依赖项。在其他情况下,您可以使用其中一个公共Maven搜索服务。我同时使用MvnRepositoryMaven Central Repository。前者包括其所有工件的SBT依赖声明。

答案 2 :(得分:2)

如果你有Dispatch jar文件,你可以配置Intellij直接使用jar,你可以添加你的项目:

  1. 导航到文件 - >项目结构 - >库
  2. 按下+按钮
  3. 选择Java
  4. 导航到jar文件
  5. 当要求将jar添加到模块时按确定
  6. 这是使用Dispatch运行项目的快速方法,但它是一个短期解决方案,因为它无法帮助您从命令行构建项目。您需要能够编写构建脚本以使用持续集成工具等项目

    最终,您需要使用SBTMavenGradle等构建工具。 Intellij支持所有这些,并且可以自动将其内部项目结构与构建工具的配置同步。以下是我提到的每个工具的Intellij支持的链接:

答案 3 :(得分:0)

更简单一点,您可以克隆我的项目skeleton,并将此SBT依赖项添加为libraryDependency:

“net.databinder.dispatch”%%“dispatch-core”%“0.11.0”

重新加载项目,你准备好了。它支持使用sbt,intellij或eclipse的工作流,全部由SBT管理。