如何在Scala项目中包含类库?

时间:2017-01-13 21:12:28

标签: scala intellij-idea

我试图将从另一个Scala项目中提取的类合并到一个我可以从多个项目中引用的类库中。但是,我似乎无法从我的客户端项目中引用该类。我对IntelliJ 15.0.6很新,而我在Scala中的背景仅限于脚本。

  1. 我将我需要的课程提取到一个名为" MyUtils"
  2. 的新Scala SBT项目中
  3. 我在lib项目中添加了一个JAR工件&建立它。它生成了指定的JAR文件工件。
  4. 我创建了一个新的客户端Scala SBT项目来使用名为" MyApp"
  5. 的类
  6. 我在客户端IDE项目设置中添加了对JAR的Scala库依赖项,选择Classes作为JAR包含的文件类型
  7. 我保存并重建了项目以刷新引用。
  8. 我在项目浏览器中将引用扩展为导入的JAR。它显示以下内容 META-INF MyUtils(我需要的课程) 如果我在JAR中双击我需要的类,IDE将显示类
  9. 的源文件
  10. 我在JAR中为我想要的类添加了一个import语句,但IDE无法解析它。
  11. 我添加了一行代码来创建新类的实例,认为IDE工具可能为我提供了解决问题的方法,但它实际上似乎解决了这个类。 (该行不是红色,并且它不会显示错误图标。)但是,如果我进行/重建,我会收到编译器错误,指出未找到类类型。似乎IDE看到了类而不是编译器。
  12. 我有什么想法可以解决这个问题吗?

    由于

3 个答案:

答案 0 :(得分:0)

由于您使用的是SBT,我建议您使用它来管理库依赖项。 SBT是一个构建工具,它将下载jar文件并在您的项目中为您提供。

要添加库依赖项(在本例中为apache derby),请在“build.sbt”文件的末尾添加以下行

libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3"

您可以在此网站上找到您的依赖关系 - https://mvnrepository.com/。搜索您的库名称,选择版本并从sbt选项卡复制脚本。

答案 1 :(得分:0)

我通过创建src / main / scala / lib并将JAR复制到该文件夹​​来解决了JAR引用问题。

答案 2 :(得分:-1)

可能需要todo项目刷新(与项目重建不同),或者通过sbt构建它。我注意到intellij在这方面有点迟钝。

this thing here