我完全是Scala的新人 我在Ubuntu 12.04上安装了java,sbt和scala:
nazar_art@nazar-desctop:~$ sbt sbt-version
[warn] Alternative project directory .sbt (/home/nazar_art/.sbt) has been deprecated since sbt 0.12.0.
[warn] Please use the standard location: /home/nazar_art/project
[info] Loading project definition from /home/nazar_art/.sbt
[info] Set current project to default-5b9232 (in build file:/home/nazar_art/)
[info] 0.12.4
nazar_art@nazar-desctop:~$ scala -version
Scala code runner version 2.10.2 -- Copyright 2002-2013, LAMP/EPFL
nazar_art@nazar-desctop:~$ java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
我在想法中安装了scala和sbt插件。
当我尝试第一个示例项目时,我看到下一个错误:
在下一行之后无法解析符号列表:
package example
import common._
object Lists {
def sum(xs: List[Int]): Int = { // <== here underline for List
if (xs.isEmpty) 0
else xs.head + sumList(xs.tail)
}
}
我无法弄清楚到底出了什么问题?
IDEA建议我导入java.util.List
- 但此类没有任何isEmpthy()
方法
有什么建议吗?
更新
/usr/local/Idea
。sudo apt-get purge sbt
。并重新安装协议this
script。我去了/MyProjectDirectory/project/
并创建了'plugin.sbt'
内容:
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.1")
之后我从项目目录sbt gen-idea
输入。它
重建Idea的项目。
sbt
和scala
个插件。它应该足够但是再次显示:
Cannot resolve symbol List
并建议导入import scala.collection.immutable.List
。但这没有用。它用红线加下划线。
答案 0 :(得分:6)
如果你的IDEA插件没有看到scala类,那么转到File - &gt;项目结构并检查以下内容:
确保将Scala Facet添加到您的应用程序中。转到“构面”选项卡,检查是否列出了Scala构面。如果没有,您需要添加和配置它。然后确保Scala Facet列在需要Scala的所有模块下。
确保Scala Facet使用正确版本的scala库(如果找不到,则Idea会将其标记为红色。)
确保scala-library.jar位于使用Scala的模块的依赖项列表中。检查路径是否正常。
答案 1 :(得分:5)
对于遇到相同问题的任何人,请先在Idea中尝试以下内容:
档案 - &gt;无效缓存 - &gt;无效并重新启动
答案 2 :(得分:0)
我认为这是IDEA的一个问题。如果您在Scala IDE中打开同一项目,则可以快速验证这一点。
您也可以在命令行中尝试:
[m:~/Scala/Hello]$ scala
Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_51).
Type in expressions to have them evaluated.
Type :help for more information.
scala> var l = List()
l: List[Nothing] = List()