|
|
|
The latest trunk seems to have fixed this issue, thanks. It does appear that Xstream is quite intimately coupled to the Sun JDK as I do get another error because of assumptions about internal private variables. Testing against Harmony directly is a good strategy to find all of the places in Xstream that do this. FYI: the next place that the test suite blows up is in StackTraceElementFactory; private StackTraceElement create(String declaringClass, String methodName, String fileName, int lineNumber) { StackTraceElement result = new Throwable().getStackTrace()[0]; setField(result, "declaringClass", declaringClass); the setField line throws IllegalAccessException as, in Harmony, the declaringClass field is final. Specifically it's the setAccessible line in setField that throws. I suspect there are many more bugs like this, so I'll leave it to you as to how much you want Xstream to work on Harmony (or, rather, non-Sun JDK's). B. Hi Robert,
XStream runs on a lot of non-Sun-JDKs. I already tried to run Harmony myself, but since I am short on time and it was not clear to me (without further investigation) how to set up this dev snapshot as real JDK usable in Eclipse I stopped the effort. The problem with the StackTraceElement is because Harmony is not conforming to the spec. A JDK 5 implementation must allow a program to set even final fields: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Field.html#set(java.lang.Object,%20java.lang.Object) We are interested in Harmony as platform, but it seems not ready for production also. - Jörg Joerg,
Thank you very much for pointing this out! Just in case, here are the corresponding issues on this problem in Harmony: http://issues.apache.org/jira/browse/HARMONY-5196 [classlib][luni][gut] EnumSet.elementType field doesn't exist http://issues.apache.org/jira/browse/HARMONY-5199 [drlvm][kernel] final fields cannot be set accessible http://issues.apache.org/jira/browse/HARMONY-5200 [ibm vme] final fields cannot be set accessible Vasily I'll give Harmony a shot, once a new version exists, where HARMONY-5199 is fixed.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I've committed a change, can you give it a try?
- Jörg