org.apache.http.impl.cookie.BasicClientCookie不可序列化?

时间:2010-06-09 19:17:40

标签: groovy httpclient serializable

我很困惑......我在这里阅读并且BasicClientCookie 明确地实现了每个JavaDoc的Serializable: http://hc.apache.org/httpcomponents-client/httpclient/apidocs/org/apache/http/impl/cookie/BasicClientCookie.html

但是,我的简单Groovy脚本:

#!/usr/bin/env groovy
@Grapes(
    @Grab(group='org.apache.httpcomponents', module='httpclient', version='4.0.1')
)
import org.apache.http.impl.cookie.BasicClientCookie
import java.io.File

def cookie=new BasicClientCookie("name","value")
println cookie instanceof Serializable
def f=new File("/tmp/test")
f.withObjectOutputStream() { oos->
    oos.writeObject(cookie)
}

输出:

false
Caught: java.io.NotSerializableException: org.apache.http.impl.cookie.BasicClientCookie
        at t$_run_closure1.doCall(t.groovy:12)
    at t.run(t.groovy:11)

我已经检查过,我在classpath中的任何地方都没有其他版本的HttpClient(如果我拿出Grapes语句,它找不到文件)。

谢谢! Misha Koshelev

1 个答案:

答案 0 :(得分:1)

您链接的javadoc用于httpclient 4.1 alpha,但您使用的是httpclient 4.0.1。

检查来源,确认在4.0.1trunk之间添加了Serializable接口。