The "problem" here is that Eclipse RCP based upon OSGi (the Equinox Implementation). OSGi is a framework for creating modular and flexible Java applications. Each module has its own class loader (http://www.eclipsezone.com/articles/eclipse-vms/). This is different to a standard Java application, where all classes are loaded with the same class loader (in general).
So, what is the problem? Lets say, Module A has a class called foo.Bar and module C has also a class called foo.Bar. In standard Java, this is not possible - you can not have 2 Classes with the same (fully qualified) class name. So reflection works - you can use Reflection to "rebuild" foo.Bar.
But when there are x classes with that name, which one should be recreated?
This is the problem with XStream: It uses OSGi incompatible stuff. And this makes it incompatible with Eclipse RCP if you just add the Jar to the build path.
You need to add it as an OSGi bundle. Lucky you, someone did the work before. You can grab XStream as an OSGi-Bundle: http://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/1.4_1
See also: