I recently had to add XmlRootElement to a class. After using google for a while, I finally figured out a way to do it. I Updated the pom jaxb plugin to include the annotate plugin and created a mappings file that customizes the jaxb object.
pom.xml:
<plugin>
<groupid>org.jvnet.jaxb2.maven2</groupid>
<artifactid>maven-jaxb2-plugin</artifactid>
<configuration>
<extension>true</extension>
<strict>false</strict>
<plugins>
<plugin>
<groupid>org/jvnet/jaxb2_commons</groupid>
<artifactid>annotate</artifactid>
<version>0.4.1.5</version>
</plugin>
</plugins>
</configuration>
<executions>
<execution>
<id>generate</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<bindingincludes>
<include>*.xjb</include>
</bindingincludes>
<args>
<arg>-Xannotate</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
file.xjb:
<!--?xml version="1.0" encoding="UTF-8" standalone="yes"?-->
<jaxb:bindings version="2.1"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:annox="http://annox.dev.java.net"
jaxb:extensionbindingprefixes="annox">
<jaxb:bindings schemalocation="filename.xsd" node="/xs:schema">
<jaxb:bindings node="xs:complexType[@name='ObjectType']">
<annox:annotate>
<annox:annotate
annox:class="javax.xml.bind.annotation.XmlRootElement"
name="access">
</annox:annotate>
</annox:annotate></jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>