maven-jab2-pluginを使用してXSDスキーマからPOJOを生成しています。私が生成したクラスには、コレクションであるフィールドのセッターがありません。コレクションのセッターを生成するにはどうすればよいですか?
セッターがデフォルトで有効にならない理由を誰かが説明できますか?
maven-jab2-pluginを使用してXSDスキーマからPOJOを生成しています。私が生成したクラスには、コレクションであるフィールドのセッターがありません。コレクションのセッターを生成するにはどうすればよいですか?
セッターがデフォルトで有効にならない理由を誰かが説明できますか?
ここに記載されているように、JAXB2-Basicsに含まれているSettersプラグインを使用します。
私はそれらの使用例をコピーして貼り付けました(そしてセッターを具体的に表示するように変更しました):
<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>
そして、依存関係にJAXB2BasicsRuntimeパッケージを含めます。
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-runtime</artifactId>
<version><!-- Current version --></version>
</dependency>
コレクション用のセッターを生成するために、私は自分に合った解決策しか見つけませんでした。org.andromda.thirdparty.jaxb2_commonsに依存関係を追加する必要があります。ただし、このソリューションはjaxb2-maven-pluginバージョン2.5.0で機能し、バージョン2.3.1では機能しません。次に例を示します。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.5.0</version>
<dependencies>
<dependency>
<groupId>org.andromda.thirdparty.jaxb2_commons</groupId>
<artifactId>collection-setter-injector</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<executions>
<execution>
......
</execution>
</executions>
<configuration>
<sources>
......
</sources>
<arguments>-Xcollection-setter-injector</arguments>
<clearOutputDir>false</clearOutputDir>
<extension>true</extension>
</configuration>
</plugin>