I’m trying to use a solution for serializing exceptions using jaxb. (http://forums.java.net/jive/thread.jspa?messageID=256122)
The class I need to implement for that solution requires referencing the following com.sun classes.
import com.sun.xml.internal.bind.v2.model.annotation.AbstractInlineAnnotationReaderImpl;
import com.sun.xml.internal.bind.v2.model.annotation.Locatable;
import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader;
import com.sun.xml.internal.bind.v2.model.annotation.RuntimeInlineAnnotationReader;
When I compile and run my code inside of Eclipse it works fine. But when I compile the code using Maven it fails complaining about the com.sun packages like “package com.sun.xml.internal.bind.v2.model.annotation does not exist”.
Both eclipse and maven are using JDK 1.6, so I don’t understand why this is happening. Aren’t those com.sun classes inside the JDK?
EDIT:
I ultimately decided it just wasn’t possible. I simply created a new bean and copied over the information I needed and used that.
If a class is in the package com.sun.*, it just means it was developed by Sun, not that it is part of the JDK.
Sun classes in the JDK are prefixed sun.* and are not part of the public supported interface so should be used with care. From the Sun FAQ:
Having said that, those classes you listed are available on the JBoss repository in the following artifact: