私は内部に複数の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. jaxb.indexファイルを使用する場合
- 2. 設定ファイルを使用してフォームを自動的に生成
- 3. Mavenプラグインが自動的にセッター/ゲッターを生成しますか?
- 4. .aspx生成ファイルを自動的にダウンロード
- 5. rpm-maven-plugin v2.1.5ファイルを自動的にgzipしています
- 6. Maven pomを自動生成する
- 7. PDFを自動的に生成してサーバーに自動的にアップロードする
- 8. dplyr mutateを使用して新しい変数名を自動的に生成
- 9. VK API:pythonを使用してacessトークンを自動的に生成します
- 10. JavaScriptファイルとそのテストケースを使用してTypeScriptファイルを自動的に生成する方法は?
- 11. JavaScriptを使用してウィキペディアスタイルの目次を自動的に生成
- 12. PHPExcelを使用して自動生成されたExcelファイルを作成する
- 13. 衝突なしで自動的にファイル名を生成
- 14. 自動生成ファイルを視覚的に区別しますか?
- 15. バージョンを使ってダイアログを自動的に生成
- 16. DefaultTest.classファイルのswaggerを使用した自動リクエストパラメータの生成
- 17. Azureサービスファブリック - 自動的にPowerShellスクリプトを生成して再作成
- 18. 我々はCを使用してファイルの生成を自動化したい、
- 19. Windows認証を自動的に使用するMaven
- 20. VBScriptを使用してファイルを自動的に検索して移動する
- 21. Matlab - 結果を自動的に生成
- 22. PHPを使用して動的に生成されたファイルをダウンロードする
- 23. は、私はMavenを使用してアプリケーション・tests.jarファイルを生成しています
- 24. 自動的にコマンドラインからフォルダと.jsファイルを生成する
- 25. t3dファイルを自動的に生成する方法は?
- 26. Javascriptを使用してファイルアップロードボックスを動的に生成
- 27. Twistedを使用して動的にサイトを生成
- 28. Javascriptを使用してPHPコードを動的に生成
- 29. プレースホルダを使用して動的にコントロールを生成する
- 30. ANTLR4とMavenを使ってlexer + parserを自動的に生成する方法は?
すでに書かれているJavaクラスのオブジェクトファクトリを生成するためにプラグインを使用することはできません。 XSDから始めると、Javaクラスとファクトリが生成されますが、これは私の場合ではありません。既存のクラスを持つパッケージでそれを実行し、単にファクトリクラスを生成するオプションがある場合は、私に知らせてください。ありがとう、Avner –
まずXSDを作成し、XSDのものからそのファクトリを含むコードを作成することができます。その後、残りの部分をぶち壊すだけです。 – khmarbaise