问题标签 [xjc]
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 - JAXB2 Basics Mergeable 插件:设置自定义合并策略
我已经成功激活了 ant 脚本中的 JAXB2 Basics 'Mergeable' 插件,如下所示:
它正在工作,并将“MergeFrom”接口正确添加到我生成的类中。
我的问题是,每当我尝试使用“mergeStrategyClass”参数指定自定义合并策略时,“MergeFrom”接口会完全从生成的类中消失。我使用的语法如下:
这直接取自JAXB2 Basics 网站上的示例。(类路径似乎很好,因为当我故意拼错类时,我得到了 ClassNotFoundException)
ant构建没有抛出任何错误,并且类已成功生成,除了缺少接口。
java - 结合 XSD 描述
如何将两个 XSD 合二为一?我想使用 xjc 从最终的 XSD 生成 Java 类。
我有两个 XSD:
http ://www.topografix.com/GPX/1/0/gpx.xsd
http://www.groundspeak.com/cache/1/0/1/cache.xsd
使用两者组合的现有 XML 文档:http:
//www.cachewiki.de/wiki/GPX#Geocaching.com
java - 使用 xjc 从 xsd 生成类
我尝试从 xsd 生成类,但第二行出现问题
...
我收到了这个错误:
[错误] prolog 中不允许有内容。所以 xjc 似乎有架构问题
这个xsd有一个导入,在这个导入中还有另一个导入......所以我不知道如果xjc能够管理那个错误什么时候会被删除......
java - 如何通知 xjc 不要通过 xs:import?
我想使用 xjc ant 任务从 xsd 创建一个 java 类。大部分工作正常。我需要它不要通过,因为它已经完成了映射。这是xsd:
xjc 遍历所有导入并创建绑定类。但我已经有了这些。那么如何通知 xjc 在类路径中使用已经创建的绑定呢?对于 xades 实现,我将使用xades4j库
谢谢,
维德曼塔斯
jaxb - 为什么 JAXB (jaxb2-maven-plugin) 会跳过这个属性?
jaxb2-maven-plugin 1.3
跳过对象的属性。我无法修改XSD
. 在XSD
(片段)中:
结果Java Object
(片段):
为什么它不生成 attA
成员?
可能是内联枚举的原因吗?
谢谢你。
你做。
java - 绑定中的 JAXB 空节点
JAXB
无法解析此示例的绑定:
和bindings.xml
(片段):
生成 Java 文件时,错误是:
我在俯瞰什么?
谢谢你。
你做。
java - 如何使用外部绑定文件覆盖 JAXB 中的默认名称?
我有一个看起来像这样的元素。
这是为此元素创建的默认代码。
我的问题是我需要在我的 .xjb
绑定文件中放入什么来将默认生成的名称从更改为 navmapOrKeymapOrContainer
其他类似的名称 children
?
java - 带有 Ant 的 JAXB:如何让 XJCTask 受到尊重
我们将 Jaxb 与包含一些公共部分的不同模式文件一起使用。为了构建它,我们使用来自 JAXB 发行版的 Ant XJCTask:
但显然依赖没有影响,因为可以看到运行 ant -verbose:
有没有办法在 ant.properties 中正确跟踪对包含的依赖项。我只想在必要时重新编译绑定,但如果其中一个包含已更改,我肯定想重新编译。(这是目前不起作用的)。
java - 我如何分开使用 JAXB 将子元素放入单独的 Collection 属性中?
我有以下XSD
来自供应商的片段,我无法更改它的指定方式:
现在没有自定义它会生成以下代码
我宁愿它为每种类型生成一个单独的列表,如下所示
我的.xjb
文件中有以下内容可以重命名整个文件,List
但我不知道如何拆分它们。
如何指定我想要一个单独的List
或Set
为外部.xjb
绑定文件中的每个类型?
如果我不能这样做,如何向文件中添加一个<jaxb:annotation/>
以.xsd
指定单独的List
或Set
为每种类型指定?
我不在乎订购,在这种特殊情况下顺序并不重要。
注意: 我更喜欢外部.xjb
解决方案,我不想将自定义 .xsd 与供应商提供的每个新版本进行比较,它们太多了。
java - 从 XJC 输出中省略 @XmlSeeAlso
目前我正忙于一个使用 XML 消息传递的项目。我有一个通用模式,具有抽象类型和一些可重用的类型定义和元素。对于我正在处理的每种类型的消息,都有一个单独的模式(具有不同的目标命名空间)可以导入通用模式。换句话说,它是一个两级层次结构。很简单。
这些模式中的每一个都用于生成 Java 类。每个模式对应一个包。代码生成由 Maven JAXB 2.1 插件处理。当我使用代码时,我JAXBContext
为每种消息类型创建一个单独的。它JAXBContext
是使用通用模式的包名和特定消息类型的包名创建的,因此上下文应该只看到它必须处理的那些类。
令我惊讶的是,我注意到当我将 XML 文档解组为 bean,然后将它们编组回 XML 时,每种消息类型都有名称空间声明(= 模式目标名称空间)。想知道 JAXB 是如何在上下文范围内获取这些信息的,我发现一些@XmlSeeAlso
注释被放置在一些抽象类定义上。这会导致 JAXB 寻找有关目标包之外的类的信息。
有什么办法可以避免生成@XmlSeeAlso
注释?环顾四周,我发现这是 JAXB 2.1 的新功能。我可以切换到 2.0 的 XJC 插件,但我不确定这是否会产生不必要的副作用。另外,我想在未来继续关注新的 JAXB 版本。不需要的名称空间声明不是问题(XML 仍然有效),但是一旦添加了更多消息类型,就会令人困惑。此外,这清楚地表明我的 JAXB 上下文加载的类比我想象的要多,并且基本上是彼此重复的。我可以使用一个包含所有内容的上下文,但我有一个围绕这种分离构建的自己的 API。
感谢您阅读并提供任何答案。