gpt4 book ai didi

java - IntelliJ Idea 无法解析 Scala 管理源中的符号 (sbt-buildinfo)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:08 27 4
gpt4 key购买 nike

我认为这可能是新版本出现的问题,并且无法像旧版本那样解决,我得到了一个带有 sbt-buildinfo 插件的 Play Java 项目问题很常见是IntelliJ 一直说它无法解析该符号

InjettiJ can't resolve symbol

这是文件:

Generated file

可以找到一些解决方案IntelliJ Idea sbt managed source file在这里 sbt-buildinfo generated object cannot be referenced但是所提供的解决方案都对我没有帮助:

InjelliJ settings

真正奇怪的是,如果我“取消将目录标记为生成的源”,然后将该 BuildInfo.scala 文件手动移动到包文件夹到 buildpkg(我的自定义包)而不是 sbt-buildinfo 包,IntelliJ 看到那个文件,但是这个更改是无用的,因为文件将再次生成并且所有更改都将被丢弃:

Wow!

这是我的build.sbt:

lazy val root = (project in file(".")).enablePlugins(PlayJava, BuildInfoPlugin)
.settings(
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion, buildInfoBuildNumber,
"hostname" -> java.net.InetAddress.getLocalHost.getHostName,
"gitHash" -> sys.env.getOrElse("BITBUCKET_COMMIT", "No BITBUCKET_COMMIT set")
),
buildInfoPackage := "buildpkg",
buildInfoOptions += BuildInfoOption.ToJson,
buildInfoOptions += BuildInfoOption.BuildTime
)

scalaVersion := "2.12.3"

和我的plugins.sbt:

// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.5")

addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")

所以我缺少的是什么解决方案

最佳答案

  1. 在 IntelliJ 的 sbt 设置中,启用设置“使用 sbt shell 进行构建和导入”,因为只有当 sbt 运行构建时才会生成源。

  2. IntelliJ 目前只会正确更新生成的源代码,前提是它们位于正确的包目录中。对于 sbt-buildinfo,添加设置

    buildInfoUsePackageAsPath := true

    到你的build.sbt

关于java - IntelliJ Idea 无法解析 Scala 管理源中的符号 (sbt-buildinfo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763773/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com