【发布时间】:2014-05-23 09:01:54
【问题描述】:
我目前正在尝试将 Play 2.2.2 应用程序部署到 heroku,play stage 命令对我来说失败,输出如下:
$ play clean compile stage
[info] Loading project definition from /Users/apotapov/Dropbox/workspace/test/project
[info] Set current project to test (in build file:/Users/apotapov/Dropbox/workspace/test/)
[success] Total time: 0 s, completed Apr 9, 2014 4:45:28 PM
[info] Updating {file:/Users/apotapov/Dropbox/workspace/test/}test...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Compiling 3 Scala sources and 70 Java sources to /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/classes...
[success] Total time: 28 s, completed Apr 9, 2014 4:45:56 PM
[info] Packaging /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/test_2.10-1.0-SNAPSHOT-sources.jar ...
[info] Wrote /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/test_2.10-1.0-SNAPSHOT.pom
[info] Done packaging.
[info] Main Scala API documentation to /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/api...
[info] Packaging /Users/apotapov/Dropbox/workspace/test/target/scala-2.10/test_2.10-1.0-SNAPSHOT.jar ...
[info] Done packaging.
[error] /Users/apotapov/Dropbox/workspace/test/app/com/bvg/controllers/json/serializers/TestJacksonModule.java:17: not found: type SetupContext
[error] public void setupModule(SetupContext context) {
[error] ^
model contains 120 documentable templates
[error] one error found
[error] (compile:doc) Scaladoc generation failed
[error] Total time: 10 s, completed Apr 9, 2014 4:46:07 PM
这是我的 build.sbt:
name := "test"
version := "1.0-SNAPSHOT"
libraryDependencies ++= Seq(
javaJdbc,
cache,
"be.objectify" %% "deadbolt-java" % "2.2.1-RC2",
"com.google.guava" % "guava" % "r09",
"com.codahale.metrics" % "metrics-core" % "3.0.1",
"org.springframework" % "spring-context" % "4.0.2.RELEASE",
"org.springframework.data" % "spring-data-jpa" % "1.5.1.RELEASE",
"postgresql" % "postgresql" % "9.1-901.jdbc4",
"org.hibernate" % "hibernate-entitymanager" % "4.3.4.Final",
"com.typesafe" %% "play-plugins-redis" % "2.2.0",
"com.typesafe.play" %% "play-cache" % "2.2.0",
"com.restfb" % "restfb" % "1.6.11"
)
resolvers += Resolver.url("Objectify Play Repository", url("http://schaloner.github.com/releases/"))(Resolver.ivyStylePatterns)
resolvers += Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.com/snapshots/"))(Resolver.ivyStylePatterns)
resolvers += "Sedis Repo" at "http://pk11-scratch.googlecode.com/svn/trunk"
play.Project.playJavaSettings
这是有问题的文件:
package com.bvg.controllers.json.serializers;
import java.util.Map;
import com.fasterxml.jackson.databind.module.SimpleModule;
public class TestJacksonModule extends SimpleModule {
private static final long serialVersionUID = 1L;
protected Map<Class<?>, Class<?>> mixIns;
public FeudJacksonModule() {
super("FeudJacksonModule");
}
@Override
public void setupModule(SetupContext context) {
super.setupModule(context);
for (Map.Entry<Class<?>, Class<?>> mixIn : mixIns.entrySet()) {
context.setMixInAnnotations(mixIn.getKey(), mixIn.getValue());
}
}
public void setMixIns(Map<Class<?>, Class<?>> mixIns) {
this.mixIns = mixIns;
}
}
我也尝试添加 jackson-databind 依赖,但似乎没有帮助:"com.fasterxml.jackson.core" % "jackson-databind" % "2.2.2"
我已经搜索了所有内容,但似乎无法找到导致此问题的原因。这里有一个相关的讨论:
https://groups.google.com/forum/#!topic/play-framework/aa90AAp5bpo
它提到禁用 scaladoc 生成。不确定这是否是原因或如何使用 build.sbt 而不是 Build.scala 来解决这个问题,正如讨论所建议的那样。任何见解都值得赞赏。
【问题讨论】:
-
我通过查看以下内容找到了要使用的 jackson-databind 版本:xuwei-k.github.io/play2.2.0-dependency-graph.html
标签: playframework jackson playframework-2.2