Report abuse

package reframe.apt;

import java.io.File;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

import reframe.annotations.model.ObjectFactory;

import com.sun.mirror.apt.AnnotationProcessor;

public class SimpleAnnotationProcessor implements AnnotationProcessor {

	public void process() {
		File f = new File("/Users/stigi/Workspaces/Eclipse.workspaces/ReframeAnnotations/META-INF/concepts/webpoint-concepts.xml");
		int i = 1;
		try {
			JAXBContext c = JAXBContext.newInstance(ObjectFactory.class);
			i++;
			Unmarshaller u = c.createUnmarshaller();
			i++;
			Object o = u.unmarshal(f);
			i++;
			System.out.println("Object: " + o);
		} catch (JAXBException e) {
			System.out.println("eception on step: " + i);
			e.printStackTrace();
		}

	}
}


---- result
Fury:ReframeAnnotations stigi$ apt -factory reframe.apt.ReframeAnnotationProcessorFactory -cp build/classes/:build.play/classes/:lib/jaxb-impl.jar:lib/jaxb-api.jar -d out src.play/play/test*java
eception on step: 1
javax.xml.bind.JAXBException
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:196)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:385)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)
        at reframe.apt.SimpleAnnotationProcessor.process(SimpleAnnotationProcessor.java:20)
        at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
        at com.sun.tools.apt.comp.Apt.main(Apt.java:454)
        at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:448)
        at com.sun.tools.apt.main.Main.compile(Main.java:1075)
        at com.sun.tools.apt.main.Main.compile(Main.java:938)
        at com.sun.tools.apt.Main.processing(Main.java:95)
        at com.sun.tools.apt.Main.process(Main.java:43)
        at com.sun.tools.apt.Main.main(Main.java:34)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:192)
        ... 12 more
Fury:ReframeAnnotations stigi$