play2.0 dist得到错误

时间:2012-12-05 12:44:03

标签: scala playframework

我正在运行scala / play 2.0.4应用程序。在当地一切都很好,我可以通过“游戏运行”启动服务。 现在我想将应用程序导出到prod服务器。我使用了播放命令“dist”,并解压缩了服务器上的文件。 但是,如果我启动该服务,我会在几个操作上获得异常:

play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[RuntimeException: java.lang.NoSuchMethodError: com..webapp.services.Backend.getCitiesByName(Ljava/lang/String;)Ljava/util/List;]]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134) [play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115) [play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at akka.actor.Actor$class.apply(Actor.scala:318) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at play.core.ActionInvoker.apply(Invoker.scala:113) [play.play_2.9.1-play_2.9.1-2.0.4.jar:2.0.4]
at akka.actor.ActorCell.invoke(ActorCell.scala:626) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.dispatch.Mailbox.run(Mailbox.scala:179) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) [com.typesafe.akka.akka-actor-akka-actor-2.0.2.jar:2.0.2]

找不到的方法实际上是代码可用,并且可以在我的本地安装上运行(通过播放运行)。它是来自Scala项目的依赖项的类和方法(作为jar包含在lib中)。

在使用“dist”之前,我清理了所有引用并构建了所有依赖项。

任何人都可以给我一个提示,在哪里搜索此错误? 真是太棒了!

1 个答案:

答案 0 :(得分:0)

正在发生的事情是依赖的JAR文件没有进入您的分发ZiP文件

要将依赖JAR添加到分发包中,需要将其添加到project / Build.scala文件中。查看Maven上是否可以使用相关依赖项,并将其添加到Build.scala文件中,如下所示:

val appDependencies = Seq(
      // Add your project dependencies here,
      "mysql" % "mysql-connector-java" % "5.1.20",
 )