问题标签 [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.

0 投票
1 回答
587 浏览

java - JAXB2 Basics Mergeable 插件:设置自定义合并策略

我已经成功激活了 ant 脚本中的 JAXB2 Basics 'Mergeable' 插件,如下所示:

它正在工作,并将“MergeFrom”接口正确添加到我生成的类中。

我的问题是,每当我尝试使用“mergeStrategyClass”参数指定自定义合并策略时,“MergeFrom”接口会完全从生成的类中消失。我使用的语法如下:

这直接取自JAXB2 Basics 网站上的示例。(类路径似乎很好,因为当我故意拼错类时,我得到了 ClassNotFoundException)

ant构建没有抛出任何错误,并且类已成功生成,除了缺少接口。

0 投票
2 回答
409 浏览

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

0 投票
2 回答
4253 浏览

java - 使用 xjc 从 xsd 生成类

我尝试从 xsd 生成类,但第二行出现问题

...

我收到了这个错误:

[错误] prolog 中不允许有内容。所以 xjc 似乎有架构问题

这个xsd有一个导入,在这个导入中还有另一个导入......所以我不知道如果xjc能够管理那个错误什么时候会被删除......

0 投票
1 回答
5723 浏览

java - 如何通知 xjc 不要通过 xs:import?

我想使用 xjc ant 任务从 xsd 创建一个 java 类。大部分工作正常。我需要它不要通过,因为它已经完成了映射。这是xsd:

xjc 遍历所有导入并创建绑定类。但我已经有了这些。那么如何通知 xjc 在类路径中使用已经创建的绑定呢?对于 xades 实现,我将使用xades4j

谢谢,

维德曼塔斯

0 投票
3 回答
1240 浏览

jaxb - 为什么 JAXB (jaxb2-maven-plugin) 会跳过这个属性?

jaxb2-maven-plugin 1.3 跳过对象的属性。我无法修改XSD. 在XSD(片段)中:

结果Java Object(片段):

为什么它不生成 attA成员?

可能是内联枚举的原因吗?

谢谢你。

你做。

0 投票
1 回答
4654 浏览

java - 绑定中的 JAXB 空节点

JAXB无法解析此示例的绑定:

bindings.xml(片段):

生成 Java 文件时,错误是:

我在俯瞰什么?

谢谢你。

你做。

0 投票
1 回答
4546 浏览

java - 如何使用外部绑定文件覆盖 JAXB 中的默认名称?

我有一个看起来像这样的元素。

这是为此元素创建的默认代码。

我的问题是我需要在我的 .xjb 绑定文件中放入什么来将默认生成的名称从更改为 navmapOrKeymapOrContainer 其他类似的名称 children

0 投票
1 回答
2927 浏览

java - 带有 Ant 的 JAXB:如何让 XJCTask 受到尊重

我们将 Jaxb 与包含一些公共部分的不同模式文件一起使用。为了构建它,我们使用来自 JAXB 发行版的 Ant XJCTask:

但显然依赖没有影响,因为可以看到运行 ant -verbose:

有没有办法在 ant.properties 中正确跟踪对包含的依赖项。我只想在必要时重新编译绑定,但如果其中一个包含已更改,我肯定想重新编译。(这是目前不起作用的)。

0 投票
2 回答
3759 浏览

java - 我如何分开使用 JAXB 将子元素放入单独的 Collection 属性中?

我有以下XSD来自供应商的片段,我无法更改它的指定方式:

现在没有自定义它会生成以下代码

我宁愿它为每种类型生成一个单独的列表,如下所示

我的.xjb文件中有以下内容可以重命名整个文件,List但我不知道如何拆分它们。

如何指定我想要一个单独的ListSet为外部.xjb绑定文件中的每个类型?

如果我不能这样做,如何向文件中添加一个<jaxb:annotation/>.xsd指定单独的ListSet为每种类型指定?

我不在乎订购,在这种特殊情况下顺序并不重要。

注意: 我更喜欢外部.xjb解决方案,我不想将自定义 .xsd 与供应商提供的每个新版本进行比较,它们太多了。

0 投票
2 回答
2906 浏览

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。

感谢您阅读并提供任何答案。