2

我试图在 Play 2.1.2 中使用缓存。虽然所有 javadocs 当前都描述了设置的可用方法:

// Sets a value without expiration.
static void set(java.lang.String key, java.lang.Object value)

//Sets a value with expiration.
static void set(java.lang.String key, java.lang.Object value, int expiration)

这些在使用 eclipse 时不可用。此外,在尝试从播放命令提示符编译时,我收到错误:

sbt.PlayExceptions$CompilationException: Compilation error[error: method set in class Cache cannot be applied to given types;]

唯一可用于设置值的方法的签名是:

void play.api.cache.Cache.set(String arg0, Object arg1, int arg2, Application arg3)

关于需要作为第四个参数传递什么的任何想法?

谢谢!

4

1 回答 1

1

注意不要混合使用 Scala 和 Java API。

以下方法是Scala:

void play.api.cache.Cache.set(String arg0, Object arg1, int arg2, Application arg3)

以下是Java:

static void play.cache.Cache.set(java.lang.String key, java.lang.Object value)

在 Playframework 中,Scala API 包含在*.api.*包中,而 Java API 的包限定名中不包含“api”。

因此,请确保您使用过import play.cache.Cache而不是import play.api.cache.Cache

于 2013-08-24T19:28:32.493 回答