2012-11-11 4 views
5

私は、maven-jab2-pluginを使用してXSDスキーマからPOJOを生成しています。生成されたクラスには、コレクションであるフィールドのセッターがありません。コレクションのセッターを生成するにはどうすればよいですか?maven-jaxb2-pluginを使ってJavaソースを生成する場合、コレクションのセッターを有効にするには?

設定者がデフォルトで有効にならない理由を説明できる人はいますか?

答えて

6

hereのように、JAXB2-Basicsに含まれているSetters pluginを使用してください。

私は彼らの使用例をコピー、貼り付けました(とは、具体的にセッターを表示するためにそれを修正):

<plugin> 
    <groupId>org.jvnet.jaxb2.maven2</groupId> 
    <artifactId>maven-jaxb2-plugin</artifactId> 
    <version>0.7.0</version> 
    <executions> 
     <execution> 
      <goals> 
       <goal>generate</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <args> 
      <arg>-Xsetters</arg> 
     </args> 
     <plugins> 
      <plugin> 
       <groupId>org.jvnet.jaxb2_commons</groupId> 
       <artifactId>jaxb2-basics</artifactId> 
       <version><!-- Current version --></version> 
      </plugin> 
     </plugins> 
    </configuration> 
</plugin> 

をそして、あなたの依存関係でJAXB2基本ランタイムパッケージが含ま:あまりにも過ごした後

<dependency> 
    <groupId>org.jvnet.jaxb2_commons</groupId> 
    <artifactId>jaxb2-basics-runtime</artifactId> 
    <version><!-- Current version --></version> 
</dependency> 
+0

を長いグーグル、私は答えを文書化するように頼んでいる/答えている。私は、xjc collection-setter-injectorプラグインへの参照をたくさん見つけることができましたが、何も動作していないようです。 (私はちょうど "Unrecognized parameter -Xcollection-setter-injector"を得て、どのように正しい依存関係を含めるべきかを考え出しませんでした)JAXB2-Basicsは面倒な作業はありませんでした。 – PotataChipz

+0

このプラグインは、[com.github.jaxb-xew-plugin](https://github.com/dmak/jaxb-xew-plugin/issues/16)(またはその逆)と干渉します... –

関連する問題