這更多的是一種高層次的問題有關使用JAXB和XSLT,因爲我試圖獲得更多的什麼,我需要做一個瞭解,我需要更多地瞭解。XSD架構更改,XSLT和向後兼容性
我繼承有(使用JAXB)從XSD模式生成Java類文件,做一些事情的應用程序,然後寫入這些對象序列化的一個「保存文件」。
我現在需要更改到xsd,這當然意味着一些原本我生成的類將被更新。但是,我仍然需要能夠加載舊的序列化保存的文件以實現向後兼容性 - 這是否意味着我需要維護當前xsd的副本以及所有生成的類文件以加載舊的序列化保存文件?有沒有人有建議的方式,我可以做到這一點,如果我必須能夠加載舊文件?
對於所有未來版本的xsd,我打算將保存的文件輸出到xml,並在解組xml之前使用xslt轉換文件,我認爲這將工作,如此線程How should I manage different incompatible formts of Xml based documents中所述。不幫我用舊的序列化文件 - 任何想法?
謝謝。
感謝您的回答,這使得有很大的意義。但是,如果我絕對必須向後兼容(因爲許多舊文件存在於許多地方),是繼續編譯最初生成的類僅用於閱讀舊文件的唯一方法嗎?有沒有一個聰明的方法來做到這一點?謝謝.. –
好吧,Java在面對類變化時已經具有了對序列化對象的兼容性的詳細規則,但我從未仔細研究它們:最好避免陷入需要的情況。 –