Kev*_*vin 27 scala intellij-idea
我正在使用intellij 14和scala 2.11.6一起使用home brew和symlink进行安装
ln -s /usr/local/Cellar/scala/2.11.6/libexec/src /usr/local/Cellar/scala/2.11.6/src
ln -s /usr/local/Cellar/scala/2.11.6/libexec/lib /usr/local/Cellar/scala/2.11.6/lib
mkdir -p /usr/local/Cellar/scala/2.11.6/doc/scala-devel-docs
ln -s /usr/local/Cellar/scala/2.11.6/share/doc/scala /usr/local/Cellar/scala/2.11.6/doc/scala-devel-docs/api
Run Code Online (Sandbox Code Playgroud)
我试过运行一个简单的hello世界,但遇到了以下问题.
Error:scalac: Multiple 'scala-library*.jar' files (scala-library.jar, scala-library.jar, scala-library.jar) in Scala compiler classpath in Scala SDK scala-sdk-2.11.6
Run Code Online (Sandbox Code Playgroud)
编辑:
所以我检查全局库上的编译器类路径,显然有多个scal-library.jar
file:///usr/local/Cellar/scala/2.11.6/idea/lib/scala-library.jar
file:///usr/local/Cellar/scala/2.11.6/lib/scala-library.jar
file:///usr/local/Cellar/scala/2.11.6/libexec/lib/scala-library.jar
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?
Nie*_*els 54
也许你已经习惯了
/usr/local/Cellar/scala/2.11.6/
Run Code Online (Sandbox Code Playgroud)
作为Scala SDK的路径?
使用自制软件安装scala时,该路径不仅包含scala库,还包含带有intellij相关库的符号链接.因此,如果您使用顶级安装目录,intellij将找到两次库.
相反,你应该使用
/usr/local/Cellar/scala/2.11.6/idea/lib
Run Code Online (Sandbox Code Playgroud)
小智 7
这对我有用。我正在使用 Idea 2019.2.2 和 Windows 10。
在文件夹中.idea/libraries/
我有两个文件:sbt__org_scala_lang_scala_library_2_13_0_jar.xml
和sbt__org_scala_lang_scala_library_2_13_0_jar2.xml
.
我删除了第二个文件。然后我打开第一个,有重复的行:
<root url="file://$USER_HOME$/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar" />
<root url="file://$USER_HOME$/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.0/scala-compiler-2.13.0.jar" />
<root url="file://$USER_HOME$/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.0/scala-compiler-2.13.0.jar" />
<root url="file://$USER_HOME$/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.0/scala-library-2.13.0.jar" />
<root url="file://$USER_HOME$/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.0/scala-library-2.13.0.jar" />
<root url="file://$USER_HOME$/AppData/Local/Coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.0/scala-reflect-2.13.0.jar" />
Run Code Online (Sandbox Code Playgroud)
所以我删除了重复项,错误消失了。希望这会帮助别人。
我遇到了与您尝试过的问题相同的问题,该解决方案实际上非常简单,实际上是从项目中删除.idea文件夹,问题是此文件夹中的配置(包含测试,VCS,运行等)被重复两次损坏(可能是因为您更新了Scala版本),一旦您执行了此操作并在Intellij中重新打开了项目,IDEA将为您生成一个全新的配置。
您有来自多个版本的scala-library.jar
. 为了使错误消失,您必须删除重复项。要确定要保留哪个版本,可以查看每个 JAR 内的清单文件:
META-INF/MANIFEST.MF
Run Code Online (Sandbox Code Playgroud)
在清单文件中,您应该看到如下内容:
Manifest-Version: 1.0
Class-Path:
Implementation-Title: Scala-Library
Implementation-Version: 2.11.4
Run Code Online (Sandbox Code Playgroud)
发生错误的原因是 IntelliJ 无法确定要使用给定 Scala 类的哪个版本。
归档时间: |
|
查看次数: |
12057 次 |
最近记录: |