错误:scala:Scala 编译器库中没有“scala-library*.jar”

问题描述 投票:0回答:11

环境:玩2.3.0/Scala 2.11.1/IntelliJ 13.1

我使用 Typesafe Activator 1.2.1 使用 Scala 2.11.1 创建一个新项目。项目创建后,我运行了

gen-idea
。生成的IDEA项目编译失败,报错:

Error: scala: No 'scala-library*.jar' in Scala compiler library in test

我做错了什么吗?解决方法?

enter image description here

scala intellij-idea playframework-2.0 intellij-13
11个回答
61
投票
  1. 打开文件 -> 项目结构 -> 库,删除其中的任何 scala sdk,例如下图中的 scala-sdk-2.11.8。

  2. 单击“+”,然后单击“Scala SDK”。

  3. 从列表中选择正确的Scala SDK,对我来说,它是图中所示的Ivy-Scala-2.11.8。

  4. 选择当前项目(我的是

    spark-test
    ),点击确定。

  5. 然后单击“确定”将其关闭。

  6. 再次运行,现在应该可以工作了。


19
投票

从 IDEA 13 开始,您应该使用与 Scala 插件捆绑在一起的 SBT 支持。

有了它,无需添加第三方SBT插件和运行特殊命令;只需使用“文件 -> 导入项目...”菜单项导入项目,它就会自动加载 SBT 项目结构及其依赖项。


7
投票

我在 play 2.3 中使用 ./activator idea 生成的 .idea 文件也遇到了同样的问题。快速解决方法是查看“项目结构->模块”并记下编译器库的名称。对我来说是“SBT:scala2.11.1”。查看“Project Structure->Libraries”并检查该库的内容。它应该包含 scala-compiler.jar、scala-library.jar、scala-reflect.jar。如果此库不存在,请添加它们(在我的例子中,它们位于 ~/.sbt/boot/scala-2.11.1/lib 中)。


3
投票

看起来我的答案迟了9年,但是当我遇到这样的问题时,以前的答案对我不起作用,所以我将我的解决方案留在这里。

文件 > 项目结构 > 全局库 > 在我的例子中是 scala-sdk-2.13.8 > 按减号(删除库) > 按加号 > 选择与您的 scala 版本相对应的 SDK(例如 scala-sdk-2.12 .10 在我的例子中 \ 在 pom.xml 文件中找到你的版本)> OK > Applay\OK


1
投票

对于 IDEA 15 和从 Activator 1.3.5 导出的项目,目前只有 Russell 的解决方案有帮助。 我修复了 scala 编译器库,将位于 ~/.sbt/boot/scala-2.11.1/lib 中的 3 个库添加到库的编译器类路径和类中。索引项目后,我将此库移至 IDEA 的全局库并保存在那里。


1
投票

我也有同样的问题。

如果您使用外部

sbt
sbt compile
构建项目,那么它将在库中创建或添加依赖项(也包括所有外部依赖项),并且 scala sdk 将根据您的 scala 版本添加为
SBT:scala*
。 所以你可以删除以SBT为前缀的
SDK
并通过Intellij添加适当的SDK。

File->Project Structure->Libraries

删除SBT SDK并手动添加。


0
投票

对于使用 IDEA 12 的我来说,当我取消选中 Settings.Compiler 中的“使用外部构建”框时,我解决了这个问题。


0
投票

现在是2021年了,在Mac上,使用IntelliJ运行scala:

  • 核心逻辑
    • Mac
      brew install scala
    • IntelliJ
      :打开*.scala文件,然后根据通知自动配置
      java JDK
      Scala SDK
  • 详细步骤:请参考另一个帖子的回答

0
投票

我是一个绝对的 Scala 初学者。我想站起来跑步。我需要创建一个 Scala project,而不是带有 Scala 库的 Java 项目:


0
投票

我对 Maven 多模块项目意外地遇到了同样的问题。

IntelliJ 2023.1.3 会发生这种情况。

解决方案:简单地重新导入 Maven 项目即可。


0
投票

我做了以下操作,它对我有用 -

  1. 单击右侧面板中的“Maven”
  2. 单击“重新加载所有 Maven 项目”
© www.soinside.com 2019 - 2024. All rights reserved.