TwirlKeys.templateImports with Play 未在 IntelliJ IDEA 模板文件中解析
Posted
技术标签:
【中文标题】TwirlKeys.templateImports with Play 未在 IntelliJ IDEA 模板文件中解析【英文标题】:TwirlKeys.templateImports with Play not being resolved in IntelliJ IDEA template files 【发布时间】:2016-05-18 22:24:33 【问题描述】:我将模板导入设置为导入模板所需的依赖项,但 IntelliJ 没有解决任何依赖项。
模板导入:
模板文件:
这是我的整个 Build.scala:
import play.sbt.PlayImport._
import play.sbt.PlayScala
import play.sbt.routes.RoutesKeys._
import play.twirl.sbt.Import.TwirlKeys
import sbt._
import sbt.Keys._
object Build extends Build
lazy val core = Project(id = "core", base = file(".")).settings(
name := "core",
version := "0.1",
scalaVersion := "2.11.6",
libraryDependencies ++= Seq(
jdbc,
cache,
ws,
filters,
specs2 % Test,
"com.typesafe.play" %% "anorm" % "2.4.0",
"mysql" % "mysql-connector-java" % "5.1.27",
"org.apache.commons" % "commons-lang3" % "3.3.2",
"com.googlecode.xmemcached" % "xmemcached" % "2.0.0",
"com.amazonaws" % "aws-java-sdk-s3" % "1.10.49",
"io.argonaut" %% "argonaut" % "6.0.4",
"com.sksamuel.scrimage" %% "scrimage-core" % "2.1.2",
"javax.mail" % "mail" % "1.4.7",
"io.fastjson" % "boon" % "0.31",
"net.debasishg" %% "redisclient" % "2.13",
"com.mohiva" %% "play-html-compressor" % "0.5.0" exclude("rhino", "js"),
"com.yahoo.platform.yui" % "yuicompressor" % "2.4.7" exclude("rhino", "js"),
"com.github.jreddit" % "jreddit" % "1.0.2",
"com.notnoop.apns" % "apns" % "1.0.0.Beta6",
"com.sksamuel.scrimage" %% "scrimage-canvas" % "1.4.2"
),
resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases",
doc in Compile <<= target.map(_ / "none"),
routesGenerator := InjectedRoutesGenerator,
TwirlKeys.templateImports += "core.data.db.models._",
unmanagedResourceDirectories in Test <+= baseDirectory ( _ /"target/web/public/test" )
).enablePlugins(PlayScala)
我已验证所有包裹路线都是正确的。我该如何解决这个问题?
【问题讨论】:
你能附上整个 build.sbt 吗?也许您稍后会覆盖变量Twirlkeys.templateImports
,如下所示:***.com/questions/21118797/…
您是否为 SBT 启用了自动导入(首选项 > 构建、执行、部署 > 构建工具 > SBT - 有一个复选框)?如果是,您是否尝试过使缓存无效? (文件 > 使缓存无效/重新启动)
@mgosk 我已经编辑了这个问题。奇怪的是我可以很好地运行服务器,所以正在导入,只是不在 IntelliJ 中
@lpiepiora 是的,这两件事我都试过了。
您使用的是 intellij IDEA Ultimate 还是社区?
【参考方案1】:
为了让 intellij IDEA 帮助开发模板,您需要 Intellij IDEA Ultimate 并更新了最新的 Scala 插件。 https://www.jetbrains.com/idea/features/
还要确保在设置中启用 Play 2 编译器
它应该在你的 build.sbt 中不需要任何特殊配置就可以工作
作为参考,您可以创建一个新的 Play2 项目并查看模板是否正常工作 https://www.jetbrains.com/idea/help/getting-started-with-play-2-x.html
通过此设置,您可以使用 TwirlKeys.templateImports 来避免将导入添加到所有模板中。
【讨论】:
以上是关于TwirlKeys.templateImports with Play 未在 IntelliJ IDEA 模板文件中解析的主要内容,如果未能解决你的问题,请参考以下文章