我很困惑......我在这里阅读,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)
我已经检查过了,并且在类路径中的任何地方都没有其他版本的 HttpClient(如果我取出 Grapes 语句,它就找不到文件)。
谢谢!米沙·科舍列夫