2012-04-16 26 views
2

私は内部に複数のJavaクラスを持つパッケージを持っています。
パッケージのクラスデータを含むxmlファイルを読み込む必要があります。
パッケージの内容からObjectFactoryクラスまたはjaxb.in​​dexファイルを自動生成する方法(mavenを使用)がありますか?
特定のクラスでjaxbコンテキストを開始することができますが、これにより新しいクラスを追加するたびにコードを変更するようになります。事前に
おかげで、
Avnermavenを使用してjaxb.in​​dexファイルを自動的に生成

答えて

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

すでに書かれているJavaクラスのオブジェクトファクトリを生成するためにプラグインを使用することはできません。 XSDから始めると、Javaクラスとファクトリが生成されますが、これは私の場合ではありません。既存のクラスを持つパッケージでそれを実行し、単にファクトリクラスを生成するオプションがある場合は、私に知らせてください。ありがとう、Avner –

+0

まずXSDを作成し、XSDのものからそのファクトリを含むコードを作成することができます。その後、残りの部分をぶち壊すだけです。 – khmarbaise

0

を。私は、パッケージ名を受け取り、関連するクラス(XmlRootElementアノテーションに基づく)のために春を使用してスキャンする短いラッパーを作成しました。上記のAPIを使用してjaxbコンテキストを作成します。これは高価な操作なので、将来の使用のためにこれらのコンテキスト(スレッドセーフです)をキャッシュすることを検討する必要があります。

関連する問題