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

chy5wohz  于 12个月前  发布在  Scala
关注(0)|答案(9)|浏览(609)

**环境:**Play 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
我做错什么了吗?变通办法?

3vpjnl9f

3vpjnl9f1#

1.打开File -> Project Structures -> Libraries,删除其中的任何scala sdk,例如scala-sdk-2.11.8在下图中。

1.单击+,然后单击Scala SDK。

1.从列表中选择合适的Scala SDK,对我来说,它是Ivy-Scala-2.11.8,如图所示。

1.选择当前项目(我的项目是spark-test),单击OK。

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

1.再运行一次,现在应该可以了。

lstz6jyr

lstz6jyr2#

从IDEA 13开始,你应该使用Scala插件捆绑的SBT支持。
有了它,就不需要添加第三方SBT插件和运行特殊命令;只需使用“文件->导入项目...”菜单项导入项目,它将自动加载SBT项目结构及其依赖项。

qkf9rpyu

qkf9rpyu3#

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

qco9c6ql

qco9c6ql4#

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

myzjeezk

myzjeezk5#

我也有同样的问题。
如果你使用外部的sbt构建你的项目,比如sbt compile,那么它会在库中创建或添加依赖项(所有的外部依赖项也是如此),scala sdk会根据你的scala版本添加为SBT:scala*。因此,您可以删除以SBT为前缀的SDK,并通过Intellij添加适当的SDK。

File->Project Structure->Libraries

删除SBT SDK并手动添加。

vmpqdwk3

vmpqdwk36#

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

fafcakar

fafcakar7#

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

  • 核心逻辑
  • Macbrew install scala
  • IntelliJ:打开 *.scala文件,然后根据自动配置java JDKScala SDK的通知
  • 具体步骤:请参考另一篇文章的答案
4dbbbstv

4dbbbstv8#

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

4nkexdtk

4nkexdtk9#

看起来我的答案晚了9年,但当我面对这样的问题时,以前的答案对我不起作用,所以我将在这里留下我的解决方案。
文件>项目结构>全局库>在我的例子中是scala-sdk-2.13.8 >按减号(删除库)>按加号>选择对应于你的scala版本的SDK(例如:scala-sdk-2.12.10在我的例子中\在pom.xml文件中找到你的版本)> OK > Applay\OK

相关问题