私は内部に複数のJavaクラスを持つパッケージを持っています。
パッケージのクラスデータを含むxmlファイルを読み込む必要があります。
パッケージの内容からObjectFactoryクラスまたはjaxb.indexファイルを自動生成する方法(mavenを使用)がありますか?
特定のクラスでjaxbコンテキストを開始することができますが、これにより新しいクラスを追加するたびにコードを変更するようになります。事前に
おかげで、
Avnermavenを使用してjaxb.indexファイルを自動的に生成
2
A
答えて
2
あなたが他のものを生成するJAXB2-Mavenプラグインを使用する必要があります。クラスに適切なアノテーションがある場合、それは問題ではありません。
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.3.1</version>
ここを参照してください:私はクラスの配列を受け入れるAPIのJAXBContext.newInstanceを使用することを選択したいくつかの研究を行った後http://mojo.codehaus.org/jaxb2-maven-plugin/
0
を。私は、パッケージ名を受け取り、関連するクラス(XmlRootElementアノテーションに基づく)のために春を使用してスキャンする短いラッパーを作成しました。上記のAPIを使用してjaxbコンテキストを作成します。これは高価な操作なので、将来の使用のためにこれらのコンテキスト(スレッドセーフです)をキャッシュすることを検討する必要があります。
関連する問題
- 1. 設定ファイルを使用してフォームを自動的に生成
- 2. Mavenプラグインが自動的にセッター/ゲッターを生成しますか?
- 3. Maven pomを自動生成する
- 4. PDFを自動的に生成してサーバーに自動的にアップロードする
- 5. JavaScriptファイルとそのテストケースを使用してTypeScriptファイルを自動的に生成する方法は?
- 6. PHPExcelを使用して自動生成されたExcelファイルを作成する
- 7. 衝突なしで自動的にファイル名を生成
- 8. VBScriptを使用してファイルを自動的に検索して移動する
- 9. PHPを使用して動的に生成されたファイルをダウンロードする
- 10. Windows認証を自動的に使用するMaven
- 11. は、私はMavenを使用してアプリケーション・tests.jarファイルを生成しています
- 12. プレースホルダを使用して動的にコントロールを生成する
- 13. Javascriptを使用してファイルアップロードボックスを動的に生成
- 14. Javascriptを使用してPHPコードを動的に生成
- 15. SQL Server 2008を使用してVB.NETフォームを自動生成
- 16. SSRS 2008を使用してSSRS 2008レポートを自動生成
- 17. cxf mavenでJAXBコードを生成、howtoターゲットディレクトリに生成されたファイルを使用
- 18. ANTLR4とMavenを使ってlexer + parserを自動的に生成する方法は?
- 19. Clionの.hファイル用の関数ヘッダを自動的に生成するには?
- 20. ファイルを保存して自動的にディレクトリを作成する
- 21. R.java自動生成ファイル
- 22. Mavenプラグインを自動的にビルドする
- 23. jmfを自動的に繰り返し使用してビデオを再生する
- 24. ccmakeが自動的に設定して生成します
- 25. IpadでXML解析を使用して動的コントロールを生成
- 26. XQueryを使用して動的表の行を生成
- 27. 変数名を自動的に生成し、Matlabでファイルに保存
- 28. 生成されたファイルをhgアーカイブに自動的にインクルードします
- 29. Visual Studioでローカライズ用のリソースキーを自動的に生成
- 30. データモデルに基づいてフォームを自動的に生成する
すでに書かれているJavaクラスのオブジェクトファクトリを生成するためにプラグインを使用することはできません。 XSDから始めると、Javaクラスとファクトリが生成されますが、これは私の場合ではありません。既存のクラスを持つパッケージでそれを実行し、単にファクトリクラスを生成するオプションがある場合は、私に知らせてください。ありがとう、Avner –
まずXSDを作成し、XSDのものからそのファクトリを含むコードを作成することができます。その後、残りの部分をぶち壊すだけです。 – khmarbaise