首页 > 解决方案 > 未找到 Scala 反射

问题描述

我有一个基于 Kotlin 的 Gradle 项目,我在其中使用 Scala。我所有的依赖都来自内部存储库,所以我不能使用任何 Scala 版本,只能使用可用的版本。
因此,我有以下依赖项列表:

plugins {
  java
}
//...
apply(plugin = "scala")
//...
dependencies {
  implementation("org.scala-lang.scala-reflect:2.12.5")
  compileOnly("org.scala-lang.scala-library:2.12.9") {
    exclude("org.scala-lang.scala-reflect")
}

在纸上它应该可以工作 - 我定义了内部连接上可用的依赖项。

但是,当我尝试构建项目时,出现以下错误:

Execution failed for task ':compileScala'.
> Could not resolve all files for configuration ':zinc'.
  > Could not find scala-reflect-2.12.10.jar (org.scala-lang.scala-reflect:2.10.10).
    > Searched in the following locations:
      <nexus_url>

是因为 scala 插件吗?


更新 我检查了错误是否发生,因为我拥有的 Zinc 版本是建立在 Scala 2.12.10 之上的。而且由于该版本在 nexus 上不可用,因此无法运行。有没有办法改变 Zinc 使用的 Scala 版本?

标签: scalagradle

解决方案


在搜索 Gradle Scala 插件文档(https://docs.gradle.org/current/userguide/scala_plugin.html#sec:configure_zinc_compiler)后,我找到了解决方案。
我必须做的是更改 Zinc 版本:

scala {
  zincVersion.set("1.3.1")
}

推荐阅读