質問

ANTのXJC2タスクを使用していくつかの有効なXMLドキュメントをバインドすると、次の障害メッセージが表示されます。

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

ドキュメントは、正常にバインドされている他のファイルと非常に似ており、すべてのインポートされたスキーマが存在します。 verboseモードでXJCを実行したことが生成されました:

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

誰もがこれが何を意味するのか分かりますか?

役に立ちましたか?

解決

スキーマの正しさチェック

XJCの使用では、スキーマの正確性チェックを無効にすることで解決された同様の問題(以下のリンクを参照)が見られました。

次のシステムプロパティを試して、スキーマ正確さチェックを無効にしてください。

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

アリの場合は、お試しください:

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

次のページから、-NVパラメーターはスキーマ正しさのチェックに関連しています。

コードに入る

XJCとプログラム的に対話して(以下を参照)、自分のentityResolverをプラグインして、インポート/含まれる場所を確認することができます。

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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top