簡體   English   中英

XStream Alias與先前文件內容結構的兼容性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM