问题标签 [jaxb2-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何为多个 xsd 重用 jaxb 绑定?
我正在尝试找出一种方法来为多个 xsd 文件使用相同的 .xjb 绑定文件。
我在这里找到了“浮动全局绑定”的解决方案: https ://www.java.net/node/674443
但是,在 globalBindings 标签下似乎不允许我尝试做的事情。
这是我对特定 .xsd 的绑定代码:
我现在如何将它应用于 xsd 目录中的任何 .xsd ?
我很难相信唯一的解决方案是实际为每个 xsd 文件生成单个绑定文件(如上面引用的论坛条目中所述),或者真的吗?
另请注意,节点 xpath 实际上会更复杂一些,因为存在不同(类型)的容器,我只是在这里对其进行了简化,以免使示例过于复杂。
maven - jaxb2-maven-plugin 为默认值 =INF 的双打生成无效源
我有一个问题,当 XSD 文件包含双精度的默认值时,jaxb2-maven-plugin 会生成无效的源代码。
我使用jaxb2-maven-plugin (org.codehaus.mojo) 1.5 版:
从以下 XSD 文件生成 Java 源代码:
生成的 Java 文件包含此方法:
该字段-InfinityD
未在任何地方定义。
使用布尔值(例如<xs:attribute name="minInclusive" type="xs:boolean" default="false" />
)时,默认值按预期工作。
与此相反,插件org.jvnet.jaxb2.maven2 (maven-jaxb2-plugin)会写Double.POSITIVE_INFINITY
在有问题的行上。
这根本不支持吗?我错过了一个参数吗?
java - xjc 或 jaxb2-maven-plugin 或 maven:编译 XSD 时的奇怪行为,处理文件两次但名称已更改?
不确定问题出在哪里;我怀疑 XJC 但它是由jaxb2-maven-plugin
内部驱动的maven
,所以有几层需要解压。
我正在编译一个 XSD 文件夹,它似乎处理每个文件两次,一次使用实际文件名,一次使用稍微改变的文件名。[顺便说一下,这是在 OSX 上,但我认为这根本不是一个直接区分大小写的文件系统问题(稍后您将看到)。]
这是相关部分pom.xml
:
包含这些src/main/resources
XSD:
当我运行时maven
,它在非常单一的文件上失败,例如:
请注意,第一个错误中的文件名甚至不存在;它与第二个文件名(确实存在)相同,第一个下划线分隔的单词转换为小写(但请注意第二个单词 ,Partial
保持不变)。
查看maven -X
输出,我很确定是 XJC 本身在这样做,但我还不能确定如何修复它。
请注意,该项目是较大maven
项目中的子项目,但我认为这无关紧要。对于它的价值,我maven
在父项目中的命令行是:mvn -X -U install -pl onebusaway-nyc-tcip-api
. (onebusaway-nyc-tcip-api
是这个子项目。)
jaxb2 - 如何使用 JAXB 自定义绑定自定义生成的 Java 对象的字段名称?
我正在尝试为以下示例 xsd 生成 JAXB 生成的对象。
并且在没有任何自定义绑定的情况下生成的类是
如您所见,字段名称是“usa”,而 setter/getter 是 getUSA/setUSA。
是否有任何自定义设置/绑定使字段名称也生成为“USA”而不是“usa”,这样字段和属性都是“USA”。
但那是自定义属性,而不是字段..任何帮助
顺便说一句,我正在使用 maven-jaxb2-plugin
xsd - Jaxb 从导入的模式中为未使用的元素生成对象
我有几个模式从一组“通用”模式中继承一个或多个元素。在这个特定的实例中,我正在导入其中一个模式以使用其中定义的单个复杂类型。
当我从模式生成 java 对象时,我得到了我的模式类型,以及我按预期引用的元素,但是我也得到了从通用模式中为 30多种其他类型生成的对象。
我想使用通用模式,因为我想在通用模式更改时依靠自动构建来更新我的模式,但我不希望生成额外的 java 类。
建议?
java - org.codehaus.mojo:jaxb2-maven-plugin 2.0 在哪里?
我目前正在使用Codehaus ( ) 开发的JAXB-2 Maven 插件jaxb2-maven-plugin
从 XSD 生成 Java 类。
该网站提到该插件的版本为 2.0(上次发布时间:2015-02-09)。但是,我在任何 Maven 存储库中都找不到这个插件:
- http://mvnrepository.com/artifact/org.codehaus.mojo/jaxb2-maven-plugin仍然是 1.6 版
- http://search.maven.org/#search|gav|1|g%3A%22org.codehaus.mojo%22%20AND%20a%3A%22jaxb2-maven-plugin%22也在版本 1.6
我在哪里可以找到它?
此外,我尝试使用以前的版本(1.6),但似乎目标的配置发生了xjc
根本性的变化,因为 2.0 版文档中描述的属性在 1.6 版中不存在。
这就引出了第二个问题:我在哪里可以找到 1.6 版的文档?
maven - 即使将 generateElementProperty 设置为 false,也会生成 JAXBElement
我使用 xjc maven 插件在 WSDL 中生成类型。按照我的配置:
jaxb_bindings.xjb 的内容:
我使用此绑定摆脱了 JAXBElement,但它仍然会生成。我的设置有什么问题,或者是否有另一种方法可以在没有 JAXBElement 的情况下在我的 WSDL 中生成类型?
maven - 将 XJB 与 jaxb2-maven-plugin 一起使用
我有一个采用以下结构的多模块 Maven 项目:
根模块的 POM 只是聚合了模块 a 和 b(除其他外):
模块 a 的 POM 如下(除其他外):
因此,当我在 module-a 上运行 mvn 时,一切正常并且构建成功。但是当我在根模块运行它时,我从 XJC 插件中得到一个异常,它试图在根模块下找到绑定文件:
有趣的是,它能够正确定位 XSD:
- 有什么线索吗?
- 这是构建脚本中的配置问题吗?
我的构建系统的细节:
从这里参考 JAXB2 Maven 插件文档。还搜索了一些关于 SO 的相关问题,但它们没有在任何地方解释我的具体问题。
更新:看起来像一个未解决的问题。如果有解决方法,请保持线程打开。
maven - 使用 JAXB 加载 FpML 5.7 使用 Maven
我一直在努力从 FpML 5.7 记录保存建议生成 java 文件。任何帮助都会得到帮助。
我已经关注了http://www.stephennimmo.com/generate-java-objects-for-fpml-using-jaxb-and-maven-the-easy-way/和FpML 5.3 JAXB 绑定,但我仍然收到以下错误。
- 由于以下原因,您将获得此“包罗万象”的属性:
- 字段名称“NotionalSchedule”由模式的两个不同部分使用。看:
- 文件第 69 行:/C:/Projects/TestFpML/src/main/xsd/xml_recordkeeping/fpml-ird-5-7.xsd
- 文件的第 53 行:/C:/Projects/TestFpML/src/main/xsd/xml_recordkeeping/fpml-ird-5-7.xsd
这是我的 bindings.xjb
这是我的 maven pom.xml。
我也尝试添加<xjc:simple />
到绑定,但它没有帮助。我知道 FpML 网站的 xsd 文件中有一个重复的对象定义,但是如何扩展绑定以仍然保持 xsd 的真实性。由于此文件是市场标准,我不想更改 xsd。
谢谢你的帮助。
java - 在 jaxb2-maven-plugin 中一起使用 jaxb:class 和 annox:annotate?
当我使用jxb:class
with 时annox:annotate
,我得到了这个异常:
我使用了这个配置: