相关疑难解决方法(0)

IntelliJ IDEA报告在Controller中使用路由时突出显示错误

我有一个Scala Play项目.我正在使用Play 2.2.1.我下载了Scala,Play 2支持和SBT插件.一切都还可以,但是当我在Controller中调用Route on Action时出现以下错误(Look screenshots):

Screenshot1

Screenshot2

我正在使用IntelliJ IDEA 12.1.6 Ultimate版本.Scala版本2.10.2

有谁知道如何解决这个问题?

提前致谢!


编辑

当我通过play console中的"play idea"命令生成我的项目到Intellij IDEA时,我在IDEA项目结构中打开项目是这样的:

screenshot6

然后我看到回答@millhouse并讨论这个githup([Play 2.2]"play idea"在目标中创建了不工作的源映射)并从Sources文件夹中删除了以下文件:

  • 目标\阶-2.10\src_managed \主\控制器
  • 目标\斯卡拉2.10\src_managed \主\意见

并且"报告突出显示错误"消失了,但现在还有另一个错误:

screenshot3

screenshot7

我的路线:

screenshot4

我已经更改了"Sources Folders",如下所示:

screenshot5

但它对我没有帮助.并且仍然是"未指定的值参数"错误.

intellij-idea scala-2.10 playframework-2.2

34
推荐指数
2
解决办法
6513
查看次数

sbt-buildinfo生成的对象无法被引用

我正在使用前面提到的 sbt 插件来获取我正在开发的应用程序的版本。

该项目有子模块。这是主要的build.sbt

...

lazy val abandon = (project in file(".")).
  aggregate(base, cli, gui).
  dependsOn(base, cli, gui).
  enablePlugins(BuildInfoPlugin).
  settings(commonSettings: _*).
  settings(
    name := "abandon",
    fork in run := true,
    buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
    buildInfoPackage := "co.uproot.abandon"
  )

lazy val base = (project in file("base")).
  settings(commonSettings: _*).
  settings(
    name := "abandon-base",
    fork in run := true
  )


lazy val cli = (project in file("cli")).
  dependsOn(base).
  settings(commonSettings: _*).
  settings(
    name := "abandon-cli",
    fork in run := true
  ) …
Run Code Online (Sandbox Code Playgroud)

scala intellij-idea sbt sbt-buildinfo

5
推荐指数
1
解决办法
4023
查看次数

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

我认为这可能是新版本中出现的一个问题,无法解决为旧版本,我得到了带有sbt-buildinfo插件的PlayJava项目,这个问题确实很常见,因为IntelliJ一直说无法解决该符号

InjettiJ无法解析符号

这是文件:

生成的文件

可以在IntelliJ Idea sbt托管的源文件中找到解决方案,并且在这里无法引用sbt-buildinfo生成的对象,但是提供的任何解决方案都不会对我有帮助:

InjelliJ设置

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

哇!

这是我的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"
Run Code Online (Sandbox Code Playgroud)

和我的plugins.sbt

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

addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")
Run Code Online (Sandbox Code Playgroud)

所以我想念的是什么解决方案

java intellij-idea playframework sbt-buildinfo sbt-plugin

3
推荐指数
1
解决办法
4857
查看次数