私はかなり混乱しています...私はここを読んでいて、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ステートメントを削除するとファイルが見つかりません)。
ありがとうございました!ミシャコシェレフ