[英]"Plugin Scala is incompatible with this installation" error with IntelliJ 14
[英]Error building Intellij Scala Plugin
我正在尝试按照说明进行操作
https://confluence.jetbrains.com/display/SCA/Setting+up+Scala+plugin+project+in+IntelliJ+IDEA
我正在使用 Idea 14.1.14。 已经下载了源码和downloadIdea。 导入项目后,将项目 SDK 设置为 1.7。
不确定以上信息是否足够继续; 但在 make 项目中,我收到以下错误; 有没有可能猜出我有什么不正确?
Error:scalac: error while loading Object, Missing dependency 'object scala in compiler mirror', required by /usr/lib/jvm/java-7-oracle/jre/lib/rt.jar(java/lang/Object.class)
Error:scalac: Error: object scala in compiler mirror not found.
scala.reflect.internal.MissingRequirementError: object scala in compiler mirror not found.
at scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:17)
at scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:18)
at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:53)
at scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:66)
at scala.reflect.internal.Mirrors$RootsBase.getPackage(Mirrors.scala:173)
at scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackage$lzycompute(Definitions.scala:161)
at scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackage(Definitions.scala:161)
at scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackageClass$lzycompute(Definitions.scala:162)
at scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackageClass(Definitions.scala:162)
at scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1377)
at scala.tools.nsc.Global$Run.<init>(Global.scala:1229)
at xsbt.CachedCompiler0$$anon$2.<init>(CompilerInterface.scala:116)
at xsbt.CachedCompiler0.run(CompilerInterface.scala:116)
at xsbt.CachedCompiler0.run(CompilerInterface.scala:102)
at xsbt.CompilerInterface.run(CompilerInterface.scala:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102)
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:48)
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:41)
at org.jetbrains.jps.incremental.scala.local.IdeaIncrementalCompiler.compile(IdeaIncrementalCompiler.scala:29)
at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:26)
at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:62)
at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:20)
at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319)
Warning:scalac: No 'scala-library*.jar' in module dependencies [compiler_settings]
转到 File -> Project structure -> Global libraries 并在那里添加 Scala SDK。 就我而言,两个 SDK 已经存在(在 ivy 文件夹中)并可供选择。
即使在拥有兼容版本的 java、sbt 和 scala SDK 之后,我最近也遇到了类似的问题,但在我们将 sbt 项目导入 Intellij 时发现出现此错误的原因很少。
请找到以下屏幕截图。
除了上述问题之外,当您在 IntelliJ 中打开项目时,您可能会在代码中遇到依赖源链接问题。 这是因为文件 -> 项目模块 -> 模块下存在额外的根模块。 在模块面板中,您将看到除了 projxctxx-process 和 projectxx-process-build 之外的 projectxxx-src 和 projectxx-test。 所以删除projectxx-src和projectxx-test。
你必须有Java 8 JDK才能让 Scala 工作
查看scala站点以获取更多信息
就我而言,我必须在Project structure -> SDKs 中指定正确的 JDK 主路径。
由于我的JAVA_HOME变量尚未设置,Intellij 采用了一个不存在的默认值。
将 JDK Home Path 替换为 JDK 的正确路径(在我的情况下为: /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home )
将“adoptopenjdk-8.jdk”替换为您的文件夹名称(可能是 jdk_1.8.0_xxx.jdk)
我希望它有帮助。
只有 Java 8 JDK 版本应该与 Scala 一起使用。 甚至更高的JDK版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.