Я пытаюсь разобрать файл XML для объектов с использованием XStream, но я получаю это исключение:Java XSTREAM CannotResolveClassException
Исключение в потоке «основные» com.thoughtworks.xstream.mapper.CannotResolveClassException: серверы на com.thoughtworks.xstream.mapper.DefaultMapper.realClass (DefaultMapper.java:56) на com.thoughtworks.xstream.mapper.MapperWrapper.realClass (MapperWrapper.java:30) на com.thoughtworks.xstream. mapper.DynamicProxyMapper.realClass (DynamicProxyMapper.java:55) [...]
Вот мой XML:
<servers>
<server>
<ip>10.196.113.27</ip>
</server>
<server>
<ip>10.196.113.31</ip>
</server>
</servers>
Вот мой код:
public class ServerIP {
private String ip;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
}
public class ServerHandler {
private String fileName = "servers.xml";
private String path = "J:\\workspace\\LOG730\\src\\Q3\\";
private XStream xstream = new XStream(new DomDriver());
public void readFromXML() {
try {
FileInputStream fis = new FileInputStream(path + fileName);
ServerIP server = (ServerIP) xstream.fromXML(fis, new ServerIP());
System.out.println("Host: " + server.getIp());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
Исключение вызвано следующим образом:
ServerHandler serverHandler = new ServerHandler();
serverHandler.readFromXML();
Для использования аннотаций является хорошим дополнением на ответы – Teg