The problem is caused because Java SE 6 bundles JAXB and so does Migration Tool.
The two versions are different and the mismatch is causing the exception. The
problem can show if for e.g. Migration Tool is used with a GlassFish
distribution that has Java SE 6 bundled such as the Java EE + JDK bundle from
The workaround is to use Migration Tool with GlassFish + Java SE 5 (JDK) i.e.
download GlassFish distribution without Java SE bundled and Java SE 5 separately
and set Migration Tool env vars - J2EE_HOME and JAVA_HOME accordingly.
Alternately, if Java EE + JDK bundle has been downloaded from
http://java.sun.com/javaee/downloads/index.jsp , then download Java SE 5 (JDK)
and set JAVA_HOME accordingly. This seems to override the JDK 6 installed with
Java EE + JDK bundle. I verified Migration Tool runs successfully but I don't
know what if any are the problems with this approach.