【问题标题】:Why does IntelliJ seem to import my scala libraries twice?为什么 IntelliJ 似乎两次导入我的 scala 库?
【发布时间】:2018-12-30 10:29:47
【问题描述】:

我刚刚开始尝试将 Scala 与 IntelliJ 结合使用。我按照以下说明创建了一个新项目:

https://docs.scala-lang.org/getting-started-intellij-track/getting-started-with-scala-in-intellij.html

我使用 Homebrew 安装了 scala 2.12.6,并在 IntelliJ 中创建新的 Scala 项目时选择了它。

由于某种原因,在外部库下,我在 scala 安装中的每个 jar 都有两次:

我创建了一个 hello world,当我尝试运行它时,我收到了这个错误:

Error:scalac: Multiple 'scala-library*.jar' files (scala-library.jar, scala-library.jar) in Scala compiler classpath in Scala SDK scala-sdk-2.12.6

但在 Scala 库文件夹中,每个文件夹只有一个 jar。

我不确定我在这里做错了什么。我尝试过其他版本的 Scala,但得到了相同的结果。我试图删除其中一个 jar,并删除了它的唯一副本,我不得不重新安装 scala。

【问题讨论】:

    标签: scala intellij-idea


    【解决方案1】:

    @萨帕提拉,

    按照这个,

    点击文件-->项目结构;选择模块;选择依赖项

    你应该在那里看到 scala-sdk-2.12.6。首先选择它,然后单击下面的“-”符号将其删除。

    完成后点击“+”按钮并选择“2. Library --> Scala from SDK”;选择适当的版本并点击应用;确定。

    这应该可以解决它。

    【讨论】:

    • 这最终得到的结果与按照上面链接中的说明相同,但帮助我找到了解决方案。
    【解决方案2】:

    我刚刚发现了问题。当我在项目资源管理器中右键单击库时,我看到了每个 jar 文件的路径。似乎在homebrew/usr/local/Cellar/scala/<version> 中制作的scala 安装中,有两个文件夹包含相同的jar:

    /usr/local/Cellar/scala/<version>/idea/lib
    

    /usr/local/Cellar/scala/<version>/libexec/lib
    

    由于我在 IntelliJ 中导入此路径 /usr/local/Cellar/scala/&lt;version&gt;,因此导入了两个文件夹中的所有 jar,导致重复。

    解决方案是仅导入这两个选项之一。我现在已经设置 IntelliJ 仅用作外部库 /usr/local/Cellar/scala/&lt;version&gt;/idea/lib 并且它似乎工作!

    【讨论】:

      【解决方案3】:

      我正在使用 windows 和 intelliJ 组合,因为我是 scala 的新手,所以我遇到了同样的问题,像往常一样,我在谷歌搜索并花费大量时间来解决我的问题。

      大部分建议都是针对基于 linux 的,请尝试以下方法,就我而言,它成功了。

      1) 检查您的 iml 文件并验证 orderEntry。默认情况下,如果您下载 sbt,它将包含 2 组库。我下载了 SBT 版本 1.2.7,它默认包含 2 组库。一个带有 2.12.0,另一个带有 2.12.7。

      2) 我的项目 iml 文件带有 scala SDK 2.12.0,这是我的问题的原因,我将其编辑为更改为 2.12.7,它首先自动更改了 2.12.7 的顺序并解决了我的问题。 这解决了我的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-09
        • 1970-01-01
        • 2014-01-08
        • 1970-01-01
        • 1970-01-01
        • 2020-10-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多