开发者

JAXB Ant Task Error: xjc2 [ERROR] null unknown location

When binding on some valid XML documents using Ant's xjc2 task, I get the following failure message:

[xjc2] [ERROR] null
[xjc2] unknown location

The documents are very similar to other files which have bound successfully, all imported schemas exist. Running xjc in verbose mode produced:

Parent is not Defined Class...I cannot get the fields from this class

Anyone hav开发者_C百科e any idea what this means?


Schema Correctness Check

In our use of XJC we have seen a similar problem (see the link below) that was solved by disabling the schema correctness check:

  • http://wiki.eclipse.org/EclipseLink/Examples/MOXy/Dynamic/JAXBContextFromXMLSchema

Try the following System property to disable the schema correctness check.

-Dcom.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.noCorrectnessCheck=true

For Ant, try:

<xjc target="src">
  <schema dir="src" includes="**/*.xsd" excludes="**/debug.xsd"/>
  <arg value="-nv" />
</xjc>

From the following page the -nv parameter relates to the schema correctness check:

  • http://fisheye5.atlassian.com/browse/~raw,r=1.1/jaxb/www/2.1-ea1/docs/xjcTask.html

Getting into the Code

You could try interacting with XJC programmatically (see below) and plug-in your own EntityResolver to see where the import/include fails:

import com.sun.codemodel.*;
import com.sun.tools.xjc.*;
import com.sun.tools.xjc.api.*;

SchemaCompiler sc = XJC.createSchemaCompiler();
sc.setEntityResolver(new YourEntityResolver());
sc.setErrorListener(new YourErrorListener());
sc.parseSchema(SYSTEM_ID, element);
S2JJAXBModel model = sc.bind();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜