KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to get JAXB to work with a groovy class of mine, however, it appears it doesn't work but the java version does. Here is the code... Here are the Scenarios: If 2 and 3 are uncommented it works fine. If 1 and 4 are uncommented I get: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions groovy.lang.MetaClass is an interface, and JAXB can't handle interfaces. If 1 and 5 are uncommented I get: javax.xml.bind.JAXBException: class org.oclc.presentations.simplejaxb.PlayerGroovy nor any of its super class is known to this context. Any ideas? Java: import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Player { } Groovy: import javax.xml.bind.annotation.XmlRootElement @XmlRootElement public class PlayerGroovy { } Test: import org.junit.Test import javax.xml.bind.JAXBContext import javax.xml.bind.Marshaller import org.junit.Assert class PlayerTest { @Test public void testJaXB(){ //1 PlayerGroovy player = new PlayerGroovy() //2 Player player = new Player() StringWriter writer = new StringWriter(); //3 JAXBContext context = JAXBContext.newInstance(Player.class); //4 JAXBContext context = JAXBContext.newInstance(PlayerGroovy.class); //5 JAXBContext context = JAXBContext.newInstance(PlayerGroovy.getClass()); Marshaller m = context.createMarshaller(); m.marshal(player, writer); println(writer) Assert.assertTrue(true) } }
Tags (comma-separated)
Save Edits
Cancel