问题标签 [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 投票
2 回答
6042 浏览

xsd - JAXB - XJC - 影响生成的类型安全枚举类和成员

使用 XJC 编译器(来自 JAXB 包)编译以下 simpleType 时...

我最终在 Java 中得到了以下枚举(删除了导入语句和注释)

这正是我想要的......除了public String value()方法。我希望public String getValue()根据 Sun 的命名约定调用该方法。这样我就可以轻松地在使用 EL 的 JSP 页面中使用它。现在我必须解决它。

getValue()有没有人有任何经验将 XJC 编译进一步调整为使用方法而不是方法的更有用的枚举value()?或者我可以添加一个方法或什么?

PS 这发生在 JAXB 的 v2.0.3 中。我下载了最新版本v2.1.8 和那里一样...

0 投票
17 回答
281614 浏览

java - 没有由 JAXB 生成的 @XmlRootElement

我正在尝试从 FpML(金融产品标记语言)4.5 版生成 Java 类。生成了大量代码,但我无法使用它。试图序列化一个简单的文档,我得到了这个:

事实上,没有类有 @XmlRootElement 注释,那么我做错了什么?我将 xjc (JAXB 2.1) 指向 fpml-main-4-5.xsd,然后它包括所有类型。

0 投票
1 回答
5751 浏览

xml - xjc 绑定自定义在 jaxb 2.1.3 中不起作用。它适用于 jaxb 2.0

我在 JDK 1.6.0 中的 jaxb 2.0 中开发了一个绑定自定义文件,它运行良好。

现在我在 JDK 1.6.0_13 中使用 jaxb 2.1.3,它给了我错误:

错误 xxx 出现在多个属性中

这就是绑定文件应该通过重命名来处理的内容。

我需要注意 2.0 和 2.1.3 之间发生的事情以及我需要更改的内容。我找遍了近处和远方,无法弄清楚。非常感谢你的帮助。

我正在使用绑定自定义文件,因为该架构有几个属性名称,它们将获得“包罗万象”的属性,因为字段名称由架构的两个不同部分使用。这两个字段称为表达式和断言

解析架构时出现以下错误:

我的 xjc 命令是:

我的 xjb 文件是:

架构非常大,但这里有 2 个断言和表达式 comtype(这是错误指向的位置):

0 投票
4 回答
11835 浏览

xsd - JAXB 选择列表

我有以下架构

XJC 生成带有两个列表的 BookShelf 类,一个用于 newBook,一个用于 oldBook。出色的!

现在我希望书籍以任何顺序出现。所以我将我的架构重写为:

但是现在 XJC 生成的 BookShelf 只有一个类型为 newBookOrOldBook 的列表List<JAXBElement<String>>

我不关心书籍出现的顺序,我想允许 XML 编写器按照他\她希望的任何顺序指定书籍,但我仍然希望每种类型的书籍作为生成的 BookShelf 类中的列表。有什么办法可以做到这一点?

0 投票
1 回答
17595 浏览

jaxb - 为 JAXB 生成的类添加前缀

我有这个 Maven“任务”来使用 JAXB 从 XSD 文件生成 Java 类。

对于 XSD 类型“User”,它会生成一个名为“User”的类 (duh)。但是,我还有一个名为“User”的 JPA 实体类(尽管在不同的包中)。我可以更改上面的 XML 配置,让 JAXB 在生成的类前面加上“XML”之类的前缀吗?

0 投票
7 回答
70255 浏览

java - 生成实现接口的 JAXB 类

我目前正在使用 JAXB 生成 java 类以解组 XML。现在我想创建一个与第一个非常相似的新模式,并让生成的类实现相同的接口。

例如,我有两个模式文件,它们定义了具有相似标签的 XML:

成人.xsd

孩子.xsd

使用 JAXB 和 XJC 我想生成两个类文件:

其中 Person 接口定义了getName()getAge()方法。

我查看了一些有关映射接口的文档,但这似乎仅适用于您已经拥有要映射到 DOM 的 java 类的情况。

另外,我尝试使用这个外部插件,但它似乎不起作用。这是我的 xjb 绑定文件:

但这会产生以下错误:

是否可以使用 JAXB 生成一个实现接口的类?

更新

我试过使用Interface Insertion插件,但由于某种原因无法让它工作。这就是我调用 xjc 的方式,但好像插件 jar 没有从类路径中获取:

我得到错误:

有任何想法吗?

0 投票
1 回答
2527 浏览

java - Java JAXB XJC代码生成表单XSD模式问题

我有自己的域模型和相应的 XSD 架构。它由在我的应用程序中交换的数据类型和消息组成。我使用 Java JRE 1.5 中的 XJC 工具为给定的 XSD 模式生成 Java 类。生成的类既不包含序列化/反序列化方法也不包含验证代码。如何使用 JAXB 实现这一点?

问候

0 投票
2 回答
4222 浏览

java - JAXB XJC 代码生成 - ObjectFactory 类不完整

我使用 XJC 命令行工具从我的 XSD 模式文件生成 Java 类。ObjectFactory 类生成不完整的内容。它生成没有JAXBElement<Type> createType装饰的创建方法。

这可能是什么原因?问候多米尼克

0 投票
1 回答
1047 浏览

java - JAXB 可以生成泛型类吗?

我可以让 JAXB 2.0 XJC 编译器为我生成一个泛型类吗?

一些简单的事情: -

我在规范中看到了这方面的参考资料,但不确定我是否正确阅读。我总是得到对象引用。

0 投票
6 回答
55358 浏览

java - 如何使用 JAXB 从 xsd 生成实现 Serializable 接口的 Java 类?

我想将缓存引入到使用 JAXB 公开 WebServices 的现有 Spring 项目中。缓存将在端点级别完成。为了做到这一点,使用 JAXB 从 XSD 生成的类需要实现Serializableinterface 和 overrideObjecttoString()方法。

如何使用 XSD 指示 xjc 工具生成具有所需属性的源?