现在应该使用什么来代替 XMLBeans,因为它已经退役了?

2022-09-01 23:49:38

我正在开始一个新项目,我有第三方XSD。我的 Java 应用程序需要生成并读取符合此 XSD 的 XML 消息。过去,我使用Apache XMLBeans来实现这一点。看起来 XMLBeans 已经停用了。

既然 XMLBeans 已经停用,那么什么是很好的替代品呢?我在其他项目中使用过XStream,但我不记得XStream能够从XSD生成Java类,所以我认为对于这个用例来说,它不是一个好的选择。我在 XSD 中定义了数百种类型,并且真的不希望创建数百个 Java 类来手动在 Java 中表示它们。

换句话说,使用XStream示例,我在XSD中定义了一个类型(以及其他99个类型)。使用XMLBeans,我可以生成Java类来表示这些对象,但是使用XStream,我需要手动或使用其他工具创建Java类(例如)。在这种情况下,我应该使用什么工具?PersonPerson


答案 1

你看过JAXB吗?我没有对其中任何一个做任何事情,但是谷歌搜索“XMLBeans的替代品”会带来很多对此包的引用。这是一篇比较它们的文章...

http://blog.bdoughan.com/2012/01/how-does-jaxb-compare-to-xmlbeans.html


答案 2

XMLBeans未回收

Apache POI项目已经取消了XMLBeans代码库的保留,并将其作为子项目进行维护。到目前为止,XMLBeans代码库一直保存在Apache Attic中,以前的Apache项目是为了公共利益而保留的。

截至 2020 年 8 月的最新版本是:

3.1.0(2019 年 3 月 26 日)

话虽如此,根据它的退休历史,我不确定我会推荐使用它。其他解决方案(如 JAXB)可能更受欢迎,因为它将来可能会得到更好的维护。


推荐