2010-08-13 18 views
4

Lors de la liaison sur certains documents XML valides en utilisant la tâche de xjc2 Ant, je reçois le message d'erreur suivant:JAXB Ant erreur de tâche: xjc2 [ERREUR] null lieu inconnu

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

Les documents sont très similaires à d'autres fichiers ont lié avec succès, tous les schémas importés existent. Exécution de xjc en mode verbeux produit:

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

Quelqu'un a-t-il une idée de ce que cela signifie?

Répondre

4

Schéma Correctness Vérifier

Dans notre utilisation de XJC nous avons vu un problème similaire (voir le lien ci-dessous) qui a été résolu en désactivant le contrôle de la décision correcte du schéma:

Essayez la propriété System suivante pour désactiver la vérification de l'exactitude du schéma.

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

Pour Ant, essayez:

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

A partir de la page suivante le paramètre -nv concerne la vérification de l'exactitude du schéma:

Entrer dans le code

Vous pouvez essayer d'interagir avec XJC programme (voir ci-dessous) et brancher votre propre EntityResolver pour voir où l'importation/include échoue:

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

J'ai essayé fournir cet argument à la tâche xjc2 comme . Je l'ai ajouté comme un enfant au nœud (à côté de mes autres arguments). J'ai reçu l'erreur suivante: "paramètre non reconnu -Dcom.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.noCorrectnessCheck = true" –

+0

Également essayé sans le bit "= true". Même résultat –

+0

J'ai mis à jour ma réponse. Le paramètre -nv dans la tâche ant semble se rapporter à la vérification de l'exactitude du schéma. –