작성
·
465
2
XStream 버전이 올라가면서 보안 관련 문제로 실습이 제대로 안되는 문제가 있었습니다.
간단하게 실습 자체만 하고 싶으신 분들은 XStream 모듈 버전을 낮추시면 됩니다.
implementation 'com.thoughtworks.xstream:xstream:1.4.16'
저의 경우 그렇게 하기는 싫어서 다른 방식으로 문제를 해결했습니다.
public Unmarshaller itemUnmarshaller() {
final Map<String, Class<?>> aliases = new HashMap<>();
aliases.put("customer", Customer.class);
aliases.put("id", Long.class);
aliases.put("name", String.class);
aliases.put("age", Integer.class);
final XStreamMarshaller xStreamMarshaller = new XStreamMarshaller();
final XStream stream = xStreamMarshaller.getXStream();
stream.alias("customer", Customer.class); // CannotResolveClassException 해결방안
stream.addPermission(AnyTypePermission.ANY); // ForbiddenClassException 해결방안
xStreamMarshaller.setAliases(aliases);
return xStreamMarshaller;
}
와 같이 진행했을 때 저의 경우 문제 없이 작동했습니다.