Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Tan dificil es des-serializar?

15 views
Skip to first unread message

Serafin Jose Estevez Andres

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
Hola!

?Alguien ha des-serializado un objeto teniendo ese objeto y la clase
a la que pertenece metidos en un jar?
?Como lo ha hecho?
El jar no esta en el classpath.


Gracias.
---
Serafin Jose Estevez Andres
uov01955(at)correo.uniovi.es
E.U. Informatica - Oviedo
i2883439(at)petra.euitio.uniovi.es
Sera <==>: P(T)-J-MJ-S-?
s_estevez(at)hotmail.com
-> The harder you work, the luckier you get.


Quique Ruiz

unread,
Apr 8, 1999, 3:00:00 AM4/8/99
to
Serafin Jose Estevez Andres wrote:
>
> Hola!
>
> ?Alguien ha des-serializado un objeto teniendo ese objeto y la clase
> a la que pertenece metidos en un jar?
> ?Como lo ha hecho?
> El jar no esta en el classpath.
>

Suponiendo que accedes correctamente al objeto serializado, dentro del
jar,
la clase, de la cual es instancia ese objeto, debe ser accesible por la
máquina virtual. Prueba a poner el jar en el classpath.

Si esto falla comprueba que estas
accediendo correctamente al fichero (dentro del jar) que contiene el
objeto
serializado, además comprueba que el fichero que contiene el stream de
datos
que representa el objeto no está comprimido (este también podría ser el
fallo).

La serialización no entraña misterios, si no haz la prueba de serializar
y deserializar sobre un fichero y sobre la misma máquina virtual (se
supone
que tiene accesible la clase del objeto) y verás como si funciona.

--
______ ___
J. Enrique Ruiz Valenciano _____ /_ __// /
adreça-e: jer...@iti.upv.es /____/ / / / /
web: http://www.iti.upv.es/~jeruiz /_/ /__/
telèfon: 96 387 7242

Serafin Jose Estevez Andres

unread,
Apr 8, 1999, 3:00:00 AM4/8/99
to
> Suponiendo que accedes correctamente al objeto serializado, dentro del
> jar,
> la clase, de la cual es instancia ese objeto, debe ser accesible por >la máquina virtual. Prueba a poner el jar en el classpath.

Hola!
Gracias por contestar.
El problema que tengo es que no puedo poner el nombre del jar en
el classpath, porque solo lo voy a conocer en tiempo de ejecucion.

Ya he preguntado si se podia modificar el classpath en tiempo de
ejecucion, pero nadie ha contestado, y mis investigaciones parecen
indicar que no se puede.

---
Serafin Jose Estevez Andres uov01955(at)correo.uniovi.es
E.U. Informatica - Oviedo i2883439(at)petra.euitio.uniovi.es
Sera <==>: P(T)-J-MJ-S-? s_estevez(at)hotmail.com

-> La cara de un nin~o lo dice todo. Sobre todo, la parte de la boca.

Serafin Jose Estevez Andres

unread,
Apr 8, 1999, 3:00:00 AM4/8/99
to
Voy a contestar aqui al mensaje de Juan Gonzalo de Silva Medina,
enviado al thread "Re: Problemas con JDK 1.2", que no iba de este
tema:

>Si te he entendido, lo que dices es que durante un programa en >ejecución
>te indican un JAR (y al menos una clase) y quieres cargarla.

Hmmm... no exactamente. Me temo que omiti algun detalle.

>Facil, bueno facil, facil.. No, pero es relativamente sencillo. Creo >que
>lo único que hay que hacer es crear una clase derivada de ClassLoader,
>realizada por tí y que haga esto. Seguramente mirando el fuente (que
>acompaña a las distribuciones de SUN) de dicha clase te sea facil
>implementarla.

En realidad ya tengo una clase que hace eso... el problema es que no
la puedo usar. El sistema usa su classloader por defecto, y a mi me
hace falta que ese classloader encuentre mi clase.

Si he contestado a este mensaje en este hilo es porque los dos
problemas
sobre los que pregunto son el mismo: Quiero cargar un objeto
serializado, teniendo en el jar tanto el objeto como la clase. Cuando
hago readObject, el sistema ve que la clase no esta en la tabla de
clases, y mediante el classloader por defecto busca esa clase, y
si el jar no esta en el classpath, obviamente no la va a encontrar.

Si pudiese instalar como classloader por defecto el mio, serviria.
Como estoy desesperado tambien me valdria hacer un directorio de
extensiones para meter el jar ahi, solo que he probado y tampoco
me funciona.
Y la tercera opcion es la ya mencionada de modificar el classpath
que tampoco tira.

Si alguien sabe como echar a andar alguna de estas tres opciones,
o se le ocurre alguna mas que yo no haya visto, bienvenida sea su
opinion.

Gracias de nuevo.


---
Serafin Jose Estevez Andres uov01955(at)correo.uniovi.es
E.U. Informatica - Oviedo i2883439(at)petra.euitio.uniovi.es
Sera <==>: P(T)-J-MJ-S-? s_estevez(at)hotmail.com

-> "No puede haber nocion de luz si no se ha estado en la tiniebla"

0 new messages