のような構成を介して、あなたは、ほぼ正しかった:
<build>
<defaultGoal>test</defaultGoal>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<extension>true</extension>
<args>
<arg>-XtoString</arg>
<arg>-Xequals</arg>
<arg>-Xequals-equalsStrategyClass=my.own.EqualsStrategy</arg>
<arg>-XhashCode</arg>
<arg>-XhashCode-hashCodeStrategyClass=my.own.HashCodeStrategy</arg>
</args>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
</plugin>
</plugins>
</configuration>
</plugin>
</plugins>
</build>
あなたの戦略は、(彼らは通常あるべき)ステートレスであれば、あなたは戦略クラス内のpublic static final INSTANCE
フィールドとしてシングルトンインスタンスを作成することができます。 configuration/plugins/plugin
という戦略でJARを組み込むことができます(XJCクラスパスに追加するだけです)。生成されたコードは、戦略の新しいインスタンスを作成する代わりにINSTANCE
フィールドを使用します。
免責事項:私はJAXB2 Basics、問題のJAXBプラグインパッケージの著者です。
これは単純な解決策です。私はドキュメントでこれを見つけたと思います。そこで、私はmaven-replacer-pluginを使用してJaxBEqualsStragegyのすべての項目を見つけて、生成されたコードからmy.own.EqualsStrategyに置き換えました。 – cbo