org.apache.http.impl.cookie.basicclientcookie não é serializável?
-
26-09-2019 - |
Pergunta
Estou bastante confuso ... estou lendo aqui e BasicClientCookie claramente implementa serializável por javadoc:http://hc.apache.org/httpcomponents-client/httpclient/apidocs/org/apache/http/impl/cookie/basicclientcookie.html
No entanto, meu script Groovy simples:
#!/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)
}
Saídas:
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)
Eu verifiquei e não tenho outras versões de httpclient em nenhum lugar do ClassPath (se eu for retirar as uvas, ele não pode encontrar o arquivo).
Obrigada! Misha Koshelev
Solução
O Javadoc ao qual você vinculou é para o HttpClient 4.1 Alpha, mas você está usando o HTTPClient 4.0.1.
Verifique a fonte, ele confirma que a interface serializável foi adicionada entre 4.0.1 e a porta-malas.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow