【问题标题】:IntelliJ and Play framework: " `scala-library` has broken sources path"IntelliJ 和 Play 框架:“`scala-library` 已损坏源路径”
【发布时间】:2014-10-16 05:11:20
【问题描述】:

我遇到了一个问题,由于我的SCALA_HOME/lib 下缺少scala-library-src.jar 文件,因此无法在 IntelliJ 中解析 Scala 库。

在我的Project Structure > Project Settings > Libraries > scala-library 下出现以下错误:

Library 'scala-library' has broken sources path:
/home/lucas/Applications/scala-2.11.2/lib/scala-library-src.jar

我的SCALA_HOME = /home/lucas/Applications/scala-2.11.2/ 在哪里。这个错误是有道理的,因为我在/home/lucas/Applications/scala-2.11.2/lib/ 下没有scala-library-src.jar,尽管我似乎拥有 Scala 库的其余部分:

[lucas]/home/.../Applications$ ls scala-2.11.2/lib/
akka-actor_2.11-2.3.4.jar              scala-continuations-library_2.11-1.0.2.jar
ant                                    scala-continuations-plugin_2.11.2-1.0.2.jar
config-1.2.1.jar                       scala-library.jar
forkjoin.jar.desired.sha1              scalap-2.11.2.jar
jline-2.12.jar                         scala-parser-combinators_2.11-1.0.2.jar
scala-actors-2.11.0.jar                scala-reflect.jar
scala-actors-migration_2.11-1.1.0.jar  scala-swing_2.11-1.0.1.jar
scala-compiler.jar                     scala-xml_2.11-1.0.2.jar
[lucas-ThinkPad-W520]/home/.../Applications$ 

我在哪里可以找到合适的 Scala 库或适合我的 scala-library-src.jar?我从here下载了Scala。

背景 我正在关注this Play Framework tutorial,在使用target > scala-2.11 > src_managed > main > controllers > routes.java 下的文件routes.java 时,我在30:10 左右遇到了错误:

// @SOURCE:/home/lucas/Dropbox/projects/mapApp/foobar/conf/routes
// @HASH:85b050b64020786e36ab0f298ee833d94c0ac5cf
// @DATE:Wed Oct 15 18:47:03 PDT 2014

package controllers;

public class routes {
public static final controllers.ReverseAssets Assets = new controllers.ReverseAssets();
public static final controllers.ReverseApplication Application = new controllers.ReverseApplication();

public static class javascript {
public static final controllers.javascript.ReverseAssets Assets = new controllers.javascript.ReverseAssets();
public static final controllers.javascript.ReverseApplication Application = new controllers.javascript.ReverseApplication();
}


public static class ref {
public static final controllers.ref.ReverseAssets Assets = new controllers.ref.ReverseAssets();
public static final controllers.ref.ReverseApplication Application = new controllers.ref.ReverseApplication();
}

}

controllerscontrollers.javascriptcontrollers.ref 之后的所有内容都是未解析的符号。

我在 IntelliJ 上运行 Ubuntu 14.04。

【问题讨论】:

    标签: java scala maven intellij-idea playframework


    【解决方案1】:

    在我看来,最容易找到库、源代码和 javadocs 的地方是 Maven Central


    如果您使用 sbt-idea 插件,您可以让 sbt 生成您的项目文件,这将自动包含完整的 Scala facet 以及源代码和文档。

    【讨论】:

    • 感谢您的提示 - 删除 .idea 并运行 sbt gen-idea 后,我的项目结构中不再有警告。我的target/scala-2.11/src_managed/main/controllers/routes.java 文件中仍然存在编译错误,您有什么建议吗?例如,我在上面显示的routes.java 文件中有类似Cannot resolve symbol ReverseAssets 的错误。
    【解决方案2】:

    如果您在项目中运行 activator,请键入 clean 然后编译。

    【讨论】:

      猜你喜欢
      • 2020-07-19
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 2015-12-07
      • 2013-11-22
      • 1970-01-01
      • 2015-06-09
      • 2016-07-08
      相关资源
      最近更新 更多