繁体   English   中英

IntelliJ 无法识别 Scala 中的 TypeTag

[英]IntelliJ doesn't recognize TypeTag in Scala

我正在尝试在Scala 中编译这两行代码(使用 Gradle):

import import scala.reflect.runtime.universe._
val typeInt = typeTag[Int]

事实证明,IntelliJ 以某种方式用红色标记了runtime这个词。 并向我抛出此错误: object runtime is not a member of package reflect one error found

现在,对我来说奇怪的是,当我使用 Scala REPL 时,它发现这个包没有任何问题

scala> import scala.reflect.runtime.universe._
import scala.reflect.runtime.universe._

scala> val typeInt = typeTag[Int]
val typeInt: reflect.runtime.universe.TypeTag[Int] = TypeTag[Int]

Gradle 的build.gradle文件

plugins {
    id 'java-library'
    id 'scala'
    id 'com.github.maiflai.scalatest' version '0.26'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'org.scala-lang:scala-library:2.13.3'
    implementation 'com.fasterxml.jackson.module:jackson-module-scala_2.13:2.9.9'
    implementation 'com.typesafe:config:1.4.0'
    testCompile 'org.scalamock:scalamock_2.13:4.4.0'
    testCompile 'org.scalatest:scalatest_2.13:3.1.2'
    testRuntimeOnly 'com.vladsch.flexmark:flexmark-all:0.35.10'
}

版本

  • IntelliJ IDEA - 社区- 版本 2020.2.3
  • JDK - 版本 14.0.1
  • macOS Catalina - 版本 10.15.7
  • Scala - 版本 2.13.3
  • Gradle - 版本 6.7

根据你的build.gradle你没有添加scala-reflect依赖

https://mvnrepository.com/artifact/org.scala-lang/scala-reflect/2.13.3

如果你想使用 Scala 反射, scala-library是不够的。

尝试添加scala-reflect

implementation 'org.scala-lang:scala-reflect:2.13.3'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM