Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 既然XMLBeans已经退役,那么使用什么来代替它呢?_Java_Xml_Xsd_Xmlbeans - Fatal编程技术网

Java 既然XMLBeans已经退役,那么使用什么来代替它呢?

Java 既然XMLBeans已经退役,那么使用什么来代替它呢?,java,xml,xsd,xmlbeans,Java,Xml,Xsd,Xmlbeans,我开始了一个新的项目,我有第三方XSD。我的Java应用程序需要生成和读取符合此XSD的XML消息。过去我用过这个。看起来XMLBeans已经退役了 既然XMLBeans已经退役,那么什么是它的好替代品呢?我已经在其他项目中使用过,但我不记得XStream能够从XSD生成Java类,因此我认为对于这个用例来说,与XMLBeans相比,它不是一个好的选择。我在XSD中定义了数百种类型,我真的不希望创建数百个Java类来用Java手工表示它们 换句话说,使用,我在XSD中定义了一个Person类型(

我开始了一个新的项目,我有第三方XSD。我的Java应用程序需要生成和读取符合此XSD的XML消息。过去我用过这个。看起来XMLBeans已经退役了

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


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

您看过JAXB了吗?我对这两个都没有做过任何处理,但是在谷歌上搜索“XMLBeans的替代品”会找到很多关于这个包的参考资料。这里有一篇文章比较了它们

未累

ApachePOI项目已经解除了XMLBeans代码库的疲劳,并将其作为子项目进行维护。到目前为止,XMLBeans代码库保存在ApacheAttic中,以前的Apache项目是为了公共利益而保存的

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

3.1.0(2019年3月26日)


话虽如此,基于它的退休历史,我不确定我会推荐使用它。其他解决方案,例如,可能会更受欢迎,因为将来可能会更好地维护它。

如果您使用的是
axis2
,请务必检查他们在
ADB
JiBX
XMLBeans
(现已退役)中建议的选项。为什么说XMLBeans“退役”?您知道任何官方声明吗?如果您访问XMLBeans站点,顶部会有一条横幅,表明该项目已经退役:是的,它知道!本周开始!根据我在这里得到的信息:XMLBeans已经退出退休状态,由ApachePOI PMC管理。看起来(到目前为止)JAXB将提供我们所需要的东西。我能够从xsd生成Java类(生成了573个Java类)。在生成XMLBeans类时,出现了一个“property value ready defined”错误,但没有发生。我现在能够解决这个问题(我猜我需要为永久性修复编写一个jaxb绑定文件)。谢谢你的帮助,史蒂夫,非常感谢。唯一的?对我来说,JAXB的问题是“解组器/编组器”混乱…:-\XMLBeans非常简单和透明。另外,我不知道如何实现“xml数据库”(xmlbeans创建方法以将xml元素作为列表或数组进行操作),我们遇到的问题是线程安全v。演出对于非常大的xml,创建上下文对象的速度很慢。封送器和解封器不是线程安全的。这里有更多信息:这里有一个最近提到的链接。回购协议正在生效