【发布时间】:2014-07-26 14:37:38
【问题描述】:
我们通过 pom 扩展 JAXBEqualsStrategy:
<xjcArg>-Xequals-equalsStrategyClass=com.acme.foo.CustomEqualsStrategy</xjcArg>
CustomEqualsStrategy 扩展了 JAXBEqualsStrategy。在 Eclipse (Keplar) 中运行 MAVEN clean install generate-source 后,我们的模型类具有如下 equals 方法:
public boolean equals(Object object) {
final EqualsStrategy strategy = new CustomEqualsStrategy();
return equals(null, null, object, strategy);
}
而如果我们不扩展 JAXBEqualsStrategy,我们的模型类就会有这样的 equals 方法:
public boolean equals(Object object) {
final EqualsStrategy strategy = JAXBEqualsStrategy.INSTANCE;
return equals(null, null, object, strategy);
}
JAXBEqualsStrategy 有
public static EqualsStrategy INSTANCE = new JAXBEqualsStrategy();
我们希望得到
final EqualsStrategy strategy = CustomEqualsStrategy.INSTANCE;
在生成的 equals 方法中并且正在努力完成它。
【问题讨论】:
标签: java maven xjc jaxb2-basics