3

我正在尝试将play-querydsl插件与 Play 2.3 一起使用,但没有成功。我知道 Play 2.3 中的插件系统发生了变化,但我想知道是否有任何方法可以在 Play 2.3 中使用旧的 Play 2.2 插件。

play-querydsl 的安装页面列出了启用 Play 2.2 插件的以下步骤:

playJavaSettings ++ QueryDSLPlugin.queryDSLSettings

val current = project.in(file(".")).configs(QueryDSLPlugin.QueryDSL)

但是,如果我理解正确,playJavaSettingsPlay 2.3 中没有(即使在About SBT Settings中提到过)。

有没有办法在不更改插件的情况下从 Play 2.3 使用这个插件?

4

2 回答 2

3

它看起来像playJavaSettings并被playScalaSettings合并到projectSettingsPlay 2.3 中。这与 QueryDSLs 有一个非常烦人的命名空间冲突projectSettings

build.sbt这是Play 2.3 Java的全新内容:

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)

它编译。

于 2014-06-14T03:39:10.153 回答
1

该插件的版本0.1.2最近已发布。使用 Play 2.3,启用它现在非常简单,默认的 Java 项目如下所示:

lazy val root = (project in file(".")).enablePlugins(PlayJava, QueryDSLPlugin)

请注意,该QueryDSLPlugin前缀现在不再用于配置设置。

于 2015-03-29T06:59:26.580 回答