问题标签 [annox]

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 投票
3 回答
7180 浏览

java - “http://annox.dev.java.net”自定义需要“-Xannotate”开关

我正在尝试通过 hyperjaxb 运行真正的模式。我已经使用 jaxb 反复测试了架构,并且 jaxb 每次都正确导入架构。但是,当我尝试让 hyperjaxb 从同一架构生成带有 hibernate 注释的 java 类时,我收到以下错误:

我已经用谷歌搜索了这个错误消息并阅读了其他关于它的帖子,但没有找到任何解决它的干净说明。我找到的最接近的是这篇文章,它说 annox 插件is activated by the -Xannotate command-line argument

我阅读了这个链接,但是在 xsd 文件中添加以下内容并没有消除错误,可能是因为在任何地方xsd都没有使用jaxb前缀。

我已经上传了一个包含所有相关材料的 zip 文件,以便快速将问题重现到此链接。它是项目的 zip 文件,包括预期的模式。重现问题所需要做的就是将命令行导航到解压缩项目的根目录并键入mvn clean install以重现错误。

如何解决此错误?


编辑:

我已经尝试将以下内容添加到 pom.xml 中的插件配置中,但到目前为止还没有成功。


第二次编辑:

我在 中添加了@lexicore 的建议pom.xml,但结果是 a null pointer exception,您可以通过单击此链接阅读。为了促进hyperjaxb其他人更容易使用,我pom.xml 在此链接中包含了全部当前内容。这个修改pom.xml后的 zip 文件和上面的 zip 文件一起足以在几分钟内重现问题。这是配置问题还是错误?

0 投票
1 回答
7596 浏览

jaxb - JAXB 架构到 Java 不同的 XmlRootElement 名称和类名称

我有一个 xsd 模式,我从中生成一些 java 类。我正在使用 jaxb 作为一代。

我希望能够生成一个用 注释的类@XmlRootElement,但我希望 @XmlRootElement 名称属性与生成的类的名称不同。

在我的 xsd 中,我定义了以下内容:

这段代码生成以下 java 类:

的 name 属性@XmlRootElement与生成的 Class 的名称相同。我希望生成的类名是CustomerRequest。

我尝试使用jaxb:class定义来更改类名。实际上,此选项更改了类名但删除了@XmlRootElement注释,我需要它存在。

以下xsd:

生成此类:

如何在@XmlRootElement不丢失注释的情况下使注释的属性名称与生成的类名不同?

解决方案更新: 用户 Xstian 提出了使用外部绑定的正确解决方案。仅供参考,我将使用转换为使用内联绑定的解决方案更新我自己的帖子:

0 投票
1 回答
2515 浏览

json - 如何使用 annox 插件将 include=JsonSerialize.Inclusion.NON_NULL 添加到 @JsonSerialize

我们使用 maven 插件 maven-jaxb2-plugin 从 xsd 生成 JAXB 对象。以下是我们拥有的依赖项

jaxb2-basics - 0.6.2
jaxb2-basics-annotate - 0.6.2

在我们的 maven 文件中,我们还包括 -Xannotate 和 -XtoString

绑定文件如下

这确实添加了@JsonSerialize(使用=JsonDateSerializer.class)。但是我尝试了以下几个选项来添加 include=JsonSerialize.Inclusion.NON_NULL,但没有奏效

但在所有情况下,都会得到 ValueParseException。那么将JsonSerialize的include(),typing()等参数添加到注释中的正确方法是什么。

另外,基于How to add Jackson annotations to POJO from XSD by JAXB/XJC? 我也试过

这也没有在注释中添加任何包含部分。

0 投票
1 回答
855 浏览

java - 在 jaxb2-maven-plugin 中一起使用 jaxb:class 和 annox:annotate?

当我使用jxb:classwith 时annox:annotate,我得到了这个异常:

我使用了这个配置:

0 投票
1 回答
5598 浏览

xsd - 如何在命令行中将 jaxb2-annotate-plugin 与 XJC 一起使用

我在命令行(xjc.bat)中使用“jaxb-ri”构建基于xsd的java类。我想使用 jaxb2-annotate_plugin 在 XmlType 注释中设置命名空间,但我不知道如何将此插件添加到 xjc 类路径并激活它。

这是我的外部 bindings.xjb 文件:

我的命令行是:

当我执行此命令时,我收到一条错误消息,指出不支持“ http://annox.dev.java.net ”。

提前致谢。

0 投票
2 回答
758 浏览

java - 在 pom 中添加注解插件

我无法将它添加到我的项目中。我从 github repo 复制了配置。有谁知道还能做什么?

更新:编辑“groupId”并添加“版本”(A_Di-Matteo)后我得到一个新的例外

例外:

0 投票
1 回答
309 浏览

xsd - 操作 JAXB 以创建 IDREF 元素而不是 JaxBElement

我想使用 maven-jaxb2-plugin 生成类。

我的输入 xsd 如下所示:

请注意,我无法更改架构,因为它是由外部客户提供的!

这是生成的代码:

如您所见,“ReferencedElementB”生成为带有@XMLElementRef-Annotation 的List>。

我想要的是如下所示:

使用Blaise Doughan的解决方法,我使用以下代码扩展了绑定文件:

这几乎完成了工作,生成如下代码:

但是,@XmlIDREF-Annotation 仍然缺失。这会在编组期间产生错误。

我试图通过 annox-plugin 注入缺少的注释:

但是一代失败了

再一次,我无法更改输入 xsd。

先感谢您!

0 投票
0 回答
41 浏览

java - annox(https://github.com/highsource/annox)在使用 JAXB 编组/解组时是否支持嵌套集合对象?

如果我ArrayList<ArrayList<Employee>>在某些 xyz 类中有 Collection 对象类成员,如何编组这个 xyz 类对象?

类似于 2D、3D 阵列。

annox ( https://github.com/highsource/annox ) 支持吗?

是否必须有一个包装器类,比如EmployeeList它有一个成员变量 asList<Employee>和一个包装器,就像ListOfEmployeeList它上面有一个成员变量 as List<EmployeeList>

或者它是否与 XML 的 anyElement 相关或等效。

0 投票
1 回答
61 浏览

jaxb2-maven-plugin - Jaxb Annox 插件:是否可以更改 objectFactory 类 @XmlElementDecl 中的注释

我得到 2 次 IllegalAnnotationExceptions 该元素有多个映射。使用剧集文件从 2 个 xsd 文件生成公共类后出现问题。现在我有 2 个 objectFactory 类,具有相同元素的映射。我正在考虑从其中一种工厂方法中删除注释,因为其他方法似乎都不起作用。

0 投票
0 回答
137 浏览

java - 无法使用 annox 向生成的 Java 类添加 JAXB 注释 - SAXParseException2

我正在尝试使用 maven-jaxb2-plugin 从 .xsd 文件中生成 Java 类,并向它们添加 @XmlRootElement 注释。我一直在遵循http://azagorneanu.blogspot.com/2011/09/configure-maven-to-generate-classes.html的说明

mvn clean install我收到以下错误:

我熟悉文章JAXB 独立剧集与 annox 自定义失败:SAXParseException2但它不能解决我的问题。

我的 pom.xml 配置:

我的绑定文件:

XSD 部分(当我在没有上述绑定文件的情况下运行 maven build 时,它的类会正确生成):