首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAXB (RI)库与JDK

JAXB (RI)库与JDK
EN

Stack Overflow用户
提问于 2015-08-05 10:27:25
回答 1查看 7.2K关注 0票数 5

使用maven,有几个插件支持从XSD生成JAXB类,例如org.codehaus.mojo:jaxb2-maven-plugin和org.jvnet.jaxb2.maven2:maven-jaxb2-plugin。它们的最新版本依赖于例如org.GlassFish.jaxb:jaxb和org.GlassFish.jaxb:jaxb-运行时(在2.2.11版本中)。

但我想知道,如果我在运行时使用这些工具从XSD生成类,但只使用JDK 8(包含2.2.8版本),会发生什么情况:我不会有获得运行时错误的风险吗?

因此,是否需要或建议始终使用与我用来从XSD生成类的jaxb版本相对应的jaxb运行时?

当然,我可以简单地将依赖项覆盖到jaxb等,并显式使用2.2.8版本。但是即使这样,我也想知道我是否会得到与直接使用JDK 8 xjc工具相同的结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-05 11:56:51

你有三个阶段:

  • (1)模式派生代码的生成
  • (2)模式派生代码的编译。
  • (3)运行时

用于编译(2)的JAXB最重要的是与运行时(3)中使用的JAXB兼容。如果不是这样的话,那么您可以编译代码,它使用一些后来在运行时中不可用的注释。您将首先在运行时看到错误。

至于(1)和(2),这也是必要的。如果使用JAXB2.2.x生成并使用JAXB2.1.x编译,则这不一定有效。但这不是那么关键,因为这将是一个编译错误,您将被迫纠正。

因此,如果您的问题只是JDK中嵌入的maven-jaxb2-插件和JAXB版本所使用的JAXB版本,那么我不会担心这一点。只要它能编译,你就会尽可能的安全。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31829857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档