Ho un file binario che contiene oggetti serializzati Java (che sono oggetti valore), ma non ho accesso alla classe che è stata serializzata per creare quelli oggetti. Senza il file di classe, JVM non mi consente di leggere gli oggetti con objectInputStreamInstance.readObject() e giustamente getta java.lang.ClassNotFoundException.Come recuperare lo stato dell'oggetto da oggetti Java serializzati senza file di classe
Esiste una libreria che può aiutare a estrarre i dati in XML o in altro formato standard? Ad esempio, se la classe Person sotto è serializzato e memorizzato in un file, vorrei estrarre i dati da esso:
Classe Definizione
class Person implements Serializable {
int age;
String name;
public Person(int age, int name) {
this.age = age;
this.name = name;
}
}
Richiesto Estrazione Format (senza accesso alla classe File)
<Person>
<age>10</age>
<name>Name</name>
</Person>
inoltre ho controllato il seguente, ma non ha ottenuto quello che cercavo:
- Xstream (http://x-stream.github.io/) richiede l'accesso a un oggetto Java per creare XML da tale oggetto. Tuttavia, non riesco a creare oggetti per la mancanza di file di classe.
- Serialysis sembra essere molto vecchio https://weblogs.java.net/blog/emcmanus/archive/2007/06/disassembling_s.html
Grazie per il vostro aiuto.
saluti, Gursev
Alcune buone idee qui, sembra che la maggior parte delle risposte non richiedono il file di classe: http://stackoverflow.com/questions/181448/gui-tool-to-browse-java-serialized-objects – lreeder
@Ireeder Grazie per la tua risposta. Ho rivisto questo link prima di porre questa domanda e indica un prodotto/software e non una libreria che sto cercando. –