問題タブ [cxf-xjc-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jaxb - JAXB が XBRL 用の Java クラスの生成に失敗する
XBRL で定義された型の Java クラスを生成しようとしています。
私のビルド プロセスは Maven 2 に基づいています。build
一部のプロパティに依存するセクションのみを貼り付けます。
package
私のターゲットパッケージの名前です
catalog
カタログのパスとファイル名です。私はインターネットに接続していないので、たくさんのエントリがありますが、それらは常に必要だと思います
xsd.path
XSDが存在するディレクトリです
xsd.file
次のミニマリスト XSD のファイル名です
私が試したすべてのプラグインはインポートに失敗しxl:nonEmptyURI
ます。
しかし、 (私のカタログにある)に xl
マッピングされ、どのインポートが定義 されていますかhttp://www.xbrl.org/2003/XLink
<import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink-2003-12-31.xsd"/>
nonEmptyURI
どうしたの?どうすれば修正できますか?
アパッチ CXF
で失敗する
jvnet maven-jaxb2-プラグイン
エラーは同じですが、もう少し詳細です
Mojo jaxb2-maven-plugin
同じエラー、Xerces による別の言い方
java - typesafeEnumMemberName で生成された bij cxf-xjc-plugin を変更できますか?
xsd から org.apache.cxf:cxf-xjc-plugin を使用して Java クラス ファイルを生成しています。私はグローバル バインディングを使用しているtypesafeEnumMemberName="generateName"
ので、プラグインは、列挙型のメンバーに対して有効な Java 識別子を作成できない場合に、列挙型クラスのメンバー名を生成します。
私の質問は次のとおり
です。これらの型保証された列挙型メンバー名が生成される方法を変更する方法はありますか?
たとえば、値を含めるように変更しますか? これにより、メンバーは単なる増分番号ではなく値を表します。
追加情報:
私が持っている xsd は、次の simpleType を指定します:
次のクラスになります。
java - fractionDigitsを使用したBigDecimalのJAXBマーシャリング
これが私の問題です。生成されたXMLファイルが準拠するXSDが与えられました。org.apache.cxf.cxf-xjc-plugin
Mavenプラグインと外部バインディングファイルを使用して、ソースコードを生成します。しかし、オブジェクトをマーシャルしようとすると、生成されたXMLが要件を満たしていません。
私のXSDには次のものが含まれています。
生成されたXMLは次のようになります。
私はそれが次のようになることを期待していましたが:
この問題をクリーンな方法で解決する方法はありますか?
totalDigits
私は、すべてのfractionDigits
組み合わせに対して複数のアダプターを作成することを望まない。また、XSDは変更される可能性があるため、生成されたソースコードはそのままにしておきます。
java - CXF xjcplugin で equals と hashCode を生成する方法
メソッド toString、equals、および hashCode を含む Java クラスを XSD ファイルから生成しようとしています。toString が機能するようになりましたが、CXF プラグインで equals メソッドと hashCode メソッドを生成する方法がわかりません。
これは私のXSDファイルです:
私の作業POM(機能しないものはコメントアウトされています):
バインディング ファイル:
Xequals のコメントアウトされた行のコメントを外すと、次のエラーが発生します。
[エラー] プロジェクト xsd-demo で目標 org.apache.cxf:cxf-xjc-plugin:2.6.1:xsdtojava (generate-sources) を実行できませんでした: 拡張アーティファクトをダウンロードできませんでした: 要求されたダウンロードは存在しません。アーティファクト org.apache.cxf.xjcplugins:cxf-xjc-Xequals:jar:2.6.1 が中央に見つかりませんでした ( http://repo1.maven.org/maven2 )
アーティファクトが存在しないことはわかりましたが、CXF プラグインを構成して equals メソッドと hashCode メソッドを生成する方法がわかりません。equals メソッドと hashCode メソッドを生成するように CXF プラグインを構成する方法を知っていますか? 助けてくれてありがとう。
java - equals() および hashCode() メソッドを使用して DTD から Java クラスを生成する
コマンド ラインから XJC ツールを使用することに慣れました。equals()
しかし、それを使用してJavaクラスとhashCode()
メソッドを生成できないことに気付きました。私はこれを使用しました:
メソッドの生成方法がわかりません。私のバージョンは次のとおりです。
1. XJC ツールを使用して DTD ファイルからメソッドequals()
を生成することは可能ですか?hashCode()
さらに、Maven プラグインを使用してこの種の目標を達成できることも知っています。CXF XJC Maven Pluginにとても満足しています。このMavenプラグインで同じ仕事ができればとても嬉しいです。
1. CXF XJC Maven プラグインを使用して DTD ファイルからメソッドequals()
を生成することは可能ですか?hashCode()
jaxb - SimpleType - 集約または抽象化
私は奇妙な問題に直面しています。Web サービスにサードパーティの XSD を多数使用することになっています。私が選んだフレームワークは Apache CXF で、その Maven プラグインを使用してコードを生成します。これまでのところ、すべてがうまく機能しており、生成も Web サービス自体も問題はありません。
しかし、XSD の作成者は奇妙で、自分で変更できないため、問題に直面しています。基本的に複製された SimpleType 定義が多数使用されています。それらはすべて独自の名前を持っていますが、同じことをします。
例:
その他にも多数 (数値、文字列定義など)。
問題は、jaxb プラグインなどを使用して、これらの SimpleTypes を 1 つに集約するか、少なくとも抽象クラス構造を生成して、無関係な重複コードの量を減らすことができるかということです。