[英]XStream Alias Compatibility With Previous Files Content Structure
我面臨以下問題:我已經使用XSTream自動創建了一個可以正確讀寫的文件。
我的問題是我想將一個類(InstallationUser)從一個包移動到另一個包,但這在XStream上創建了一個解析異常:
com.thoughtworks.xstream.converters.ConversionException:myproject.data.clientconfiguration.InstallationUser:myproject.data.clientconfiguration.InstallationUser ----調試信息----消息:myproject.data.clientconfiguration.InstallationUser原因異常
:com.thoughtworks.xstream.mapper.CannotResolveClassException原因消息:myproject.data.clientconfiguration.InstallationUser類
:java.util.TreeMap必需類型:java.util.TreeMap轉換器類型:com.thoughtworks.xstream.converters.collections.TreeMapConverter路徑:/CLIENT_CONFIGURATION/network/NETWORK/users/entry/myproject.data.clientconfiguration.InstallationUser class [1]:myproject.data.clientconfiguration.InstallationDetails轉換器類型[1]:com.thoughtworks.xstream.converters.reflection.ReflectionConverter類[2]:java.util.Vector轉換器類型[2]:com.thoughtworks .xstream.converters.collections.CollectionConverter類[3]:myproject.data.clientconfiguration.ClientConfiguration版本
: 空值
之后,我正在加載的數據將丟失。
我猜這是我的錯,因為我之前沒有做過此類的別名。
我檢查了一下,如果我不將類從一個包遷移到另一個包,則可以正常工作。
因此,我想知道是否有某種方法可以建議XStream解析器上一個類:
myproject.data.clientconfiguration.InstallationUser
現在可以打開:
myproject.data.clientconfiguration.newpackage.InstallationUser
謝謝您的幫助
設置別名以匹配您的舊類名稱,然后可以將您的類移至所需的任何包。
XStream xstream = new XStream();
xstream.alias("myproject.data.clientconfiguration.InstallationUser", InstallationUser.class);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.