我正在尝试使用播放插件发送电子邮件:
https://github.com/playframework/play-mailer
我已按照github上的说明进行操作:将依赖项添加到build.sbt,使用指定的内容创建play.plugins(我是否需要以某种方式注册文件)?
但我得到一个编译错误:
object mailer is not a member of package play.api.libs
Run Code Online (Sandbox Code Playgroud)
在尝试导入时
import play.api.libs.mailer._
Run Code Online (Sandbox Code Playgroud)
我得到另一个编译错误
val mail = use[MailerPlugin].email
Run Code Online (Sandbox Code Playgroud)
未找到MailerPlugin和使用.
如何使这个工作?
注意:插件已正确下载(我可以在我的.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 = …Run Code Online (Sandbox Code Playgroud) 我刚刚从play 2.2-> play 2.3迁移了我的应用程序,现在我无法从play 2.3-> play 2.4迁移它,特别是使用CommonsMailerPlugin.我收到以下运行时错误:
play.api.UnexpectedException: Unexpected exception[ClassNotFoundException: play.api.libs.mailer.CommonsMailerPlugin]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:165) ~[play-server_2.11-2.4.0.jar:2.4.0]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:121) ~[play-server_2.11-2.4.0.jar:2.4.0]
at scala.Option.map(Option.scala:146) ~[scala-library-2.11.6.jar:na]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:121) ~[play-server_2.11-2.4.0.jar:2.4.0]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:119) ~[play-server_2.11-2.4.0.jar:2.4.0]
at scala.util.Success.flatMap(Try.scala:230) ~[scala-library-2.11.6.jar:na]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:119) ~[play-server_2.11-2.4.0.jar:2.4.0]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:111) ~[play-server_2.11-2.4.0.jar:2.4.0]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) ~[scala-library-2.11.6.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[scala-library-2.11.6.jar:na]
Caused by: java.lang.ClassNotFoundException: play.api.libs.mailer.CommonsMailerPlugin
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_45]
at java.lang.Class.forName0(Native Method) ~[na:1.8.0_45]
at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_45]
at play.utils.Reflect$.getClass(Reflect.scala:142) ~[play_2.11-2.4.0.jar:2.4.0]
at play.api.Plugins$$anonfun$loadPlugins$1.apply(Plugins.scala:88) ~[play_2.11-2.4.0.jar:2.4.0]
at play.api.Plugins$$anonfun$loadPlugins$1.apply(Plugins.scala:87) ~[play_2.11-2.4.0.jar:2.4.0]
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) ~[scala-library-2.11.6.jar:na]
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245) ~[scala-library-2.11.6.jar:na]}
Run Code Online (Sandbox Code Playgroud)