我试图在Play 2.3中使用play-querydsl插件但没有成功。我知道插件系统在Play 2.3中已经改变了,但是我想知道是否有任何方法可以在Play 2.3中使用旧的Play 2.2插件。
The play-querydsl's Installation page列出了启用Play 2.2插件的以下步骤:
playJavaSettings ++ QueryDSLPlugin.queryDSLSettings
val current = project.in(file(".")).configs(QueryDSLPlugin.QueryDSL)
但是,如果我理解正确,Play 2.3中没有playJavaSettings
(尽管About SBT Settings中提到了它)。
有没有办法在不更改插件的情况下使用Play 2.3中的这个插件?
答案 0 :(得分:3)
看起来playJavaSettings
和playScalaSettings
在Play 2.3中合并为projectSettings
。这非常令人讨厌地与QueryDSL projectSettings
发生命名空间冲突。
这是Play 2.3 Java的全新build.sbt
:
name := """javatest2.3"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
javaJdbc,
javaEbean,
cache,
javaWs
)
要添加插件设置,我必须使用Play的projectSettings
的完整路径来避免命名空间冲突,添加以下行:
com.typesafe.sbt.SbtNativePackager.projectSettings ++ QueryDSLPlugin.queryDSLSettings
这可以通过导入缩短,但无论如何。然后,我没有添加文档中所述的第二行,而是将.configs(QueryDSLPlugin.QueryDSL)
链接到已存在的root
:
lazy val root = (project in file(".")).enablePlugins(PlayJava).configs(QueryDSLPlugin.QueryDSL)
它编译。</ p>
答案 1 :(得分:1)
该插件的版本0.1.2
最近已发布。使用Play 2.3,启用它现在已经很简单了,默认的Java项目就像:
lazy val root = (project in file(".")).enablePlugins(PlayJava, QueryDSLPlugin)
请注意,QueryDSLPlugin
前缀现在不再用于配置设置。