如何将play插件mailer与play 2.3和Scala 2.11一起使用?

如何将play插件mailer与play 2.3和Scala 2.11一起使用?,scala,playframework,Scala,Playframework,我正在尝试使用play插件发送电子邮件: 我按照github上的说明进行了操作:将依赖项添加到build.sbt,使用指定的内容创建play.plugins(我是否需要以某种方式注册文件) 但我得到一个编译错误: object mailer is not a member of package play.api.libs 当尝试导入时 import play.api.libs.mailer._ 我在上遇到另一个编译错误 val mail = use[MailerPlugin].email

我正在尝试使用play插件发送电子邮件:

我按照github上的说明进行了操作:将依赖项添加到build.sbt,使用指定的内容创建play.plugins(我是否需要以某种方式注册文件)

但我得到一个编译错误:

object mailer is not a member of package play.api.libs
当尝试导入时

import play.api.libs.mailer._
我在上遇到另一个编译错误

val mail = use[MailerPlugin].email
找不到MailerPlugin和use

如何让它工作

注意:插件已正确下载(我可以在我的.ivy2目录中找到它),但它在我的应用程序中没有作为依赖项列出

我的build.sbt文件:

name := ...

version := "1.0-SNAPSHOT"

scalaVersion := "2.11.2"

resolvers += Resolver.typesafeRepo("releases")

//"mysql" % "mysql-connector-java" % "5.1.31"
libraryDependencies ++= Seq(
  "mysql" % "mysql-connector-java" % "5.1.24",
  "org.webjars" %% "webjars-play" % "2.3.0-2",
  "com.typesafe.play" %% "play-slick" % "0.8.0",
  "com.typesafe.play.plugins" %% "play-plugins-mailer" % "2.3.1",
  "org.mindrot" % "jbcrypt" % "0.3m"
)

fork in Test := false

lazy val root = (project in file(".")).enablePlugins(PlayScala)
而my play.plugins仅包含:

1500:com.typesafe.plugin.CommonsMailerPlugin
更新: 我已从下载了示例项目
并尝试使用sbt进行编译。由于完全相同的问题,它失败了。

问题似乎与typesafe repo中可用的插件版本有关:

我已经从源代码中构建了插件,将其发布到本地存储库,然后一切都编译好了

在示例应用程序的
build.sbt
中有:

resolvers += Resolver.file("LocalIvy", file(Path.userHome + File.separator + ".ivy2" + File.separator + "local"))(Resolver.ivyStylePatterns)
因此,作者似乎在使用部署到官方存储库的插件编译应用程序时也遇到了问题

更新: 嗯,它编译得很好,但在运行时失败了,出现了
java.lang.ClassNotFoundException:com.typesafe.plugin.CommonsMailerPlugin

更新2: 示例
play.plugins
也是错误的,正确的应该是:

1500:play.api.libs.mailer.CommonsMailerPlugin

然后,每件事最终都会起作用。

自述文件是最新开发的(即将发布的版本)。 截至2014年12月19日,Typesafe存储库中发布并提供的最新版本为2.3.1。如果要使用此版本,需要参考v2.3.1标签中的自述文件:


对于即将发布的版本,我们决定打破兼容性,将Play mailer移动到自己的包中,并提供更好的实现。这就是为什么主分支中的文档不适用于2.3.1版。

我在添加新依赖项时发现sbt/activator垃圾。有时新的DEP不会附加到类路径。尝试使用
eclipse
idea
任务重新创建项目配置。@MonCalamari谁说OP甚至在使用IDE?@jfu如果您使用的是activator/sbt,在将依赖项添加到
build.sbt
后是否
重新加载了项目?我已经尝试重新加载了。我还尝试从命令行运行sbt。我在所有情况下都遇到相同的问题您是否尝试
activator clean
?你能发布你的
build.sbt
play.plugins
?发布的版本似乎没有反映新的名称空间。它仍然出现在
com.typesafe.plugin
名称空间中。我在github上提出了一个问题:自述文件也与最新的开发不匹配,因为它引用了“com.typesafe.play.plugins”%%“play plugins mailer”%%“2.3.1”,因为导入和插件配置的依赖项与2.3.1命名空间匹配,但其示例代码在2.3.1上不起作用。浪费了一点时间。谢谢你的链接,虽然这确实有帮助。是的,很抱歉,我们花了一些时间来完成过渡。我们刚刚发布了“2.4.0-RC1”,并清理了一些自述文件。Mogztter,我在安装和配置scala pluggin的play mailer时遇到了问题,请您解释一下我可以怎么做?