环境:播放 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
难道我做错了什么?解决方法?
环境:播放 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
难道我做错了什么?解决方法?
从 IDEA 13 开始,您应该使用与 Scala 插件捆绑在一起的 SBT 支持。
有了它,无需添加第三方 SBT 插件和运行特殊命令;只需使用“File -> Import project...”菜单项导入项目,它将自动加载 SBT 项目结构及其依赖项。
我对 ./activator idea 与 play 2.3 生成的 .idea 文件有同样的问题。一个快速的解决方法是查看“项目结构->模块”并记下编译器库的名称。对我来说,它是“SBT:scala2.11.1”。查看“项目结构->库”并检查该库的内容。它应该包含 scala-compiler.jar、scala-library.jar、scala-reflect.jar。如果此库不存在,请添加它们(在我的情况下,它们位于 ~/.sbt/boot/scala-2.11.1/lib 中)。
对于 IDEA 15 和从 Activator 1.3.5 导出的项目,目前只有 Russell 的解决方案有帮助。我已经修复了 scala 编译器库,将位于 ~/.sbt/boot/scala-2.11.1/lib 中的 3 个库添加到库的编译器类路径和类中。索引项目后,我将此库移至 IDEA 的全局库并保存在那里。
我遇到过同样的问题。
如果您使用外部sbt
ie构建项目,sbt compile
那么它将在库中创建或添加依赖项(所有外部依赖项也),并且 scala sdk 将SBT:scala*
根据您的 scala 版本添加。因此,您可以删除SDK
以 SBT 作为前缀并通过 Intellij 添加适当的 SDK。
File->Project Structure->Libraries
移除 SBT SDK 并手动添加。
对于使用 IDEA 12 的我来说,当我取消选中 Settings.Compiler 中的“使用外部构建”框时,我解决了这个问题。
现在是 2021 年,在 Mac 中,使用 IntelliJ 运行 scala:
Mac
:brew install scala
IntelliJ
: 打开 *.scala 文件,然后根据 auto config 的通知java JDK
和Scala SDK