问题标签 [jaxb2-annotate-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 - 禁止对 JAXB 生成的类发出编译器警告
这可能是这个问题的重复(避免 xjc 生成的代码上的编译器警告),但由于我不太精通 XJC/JAXB 自定义绑定特性,我想我可能误解了上述问题。
我的问题似乎很简单——如何@SuppressWarnings("all")
向生成的 JAXB 类添加注释?我们的项目有 0 个警告策略,在 JAXB 生成步骤之后,我们最终得到了 350 多个警告,这只是可怕的噪音。
我希望 XJC 上有一个简单的标志,或者至少是一种提供此类信息的简单方法,但我找不到任何信息。
根据我在旅行中看到的情况,人们会做以下事情之一:
- @lexicore 的JAXB2 Annotate Plugin,根据示例,它似乎可以完成这项工作,但添加一个完整的框架和数百 kB 的代码只是为了向一堆类添加简单的注释?真的??,
- 自定义 JAXB 绑定(我可能弄错了,但这看起来很神秘,我不确定是否可以这样做),
- 将执行搜索和替换后 JAXB 生成的自定义 ANT 目标,
- Eclipse 4+ 似乎有一个选项可以过滤掉选定项目的警告,但由于各种历史/遗留原因,我们被困在 Eclipse 3.7.2 (Indigo) 上,
- 将执行注释插入的自定义 XJC 插件(如其中一位评论者所建议,请参见此处),
- 将所有生成的类放在一个 JAR 中,使 JAR 成为项目的依赖项,然后完全删除生成的代码。
以前,我们通过将与 XML 相关的代码放在一个单独的 Eclipse 项目中,然后禁用项目上的警告/错误来处理这个问题。现在,作为代码整合/重构的一部分,我们已经重新洗牌,不再拥有这种奢侈。
对于这样一个看似微不足道的问题,真的没有优雅的解决方案吗?非常感谢任何反馈/想法。
FWIW,我们的项目使用 Ant 作为构建系统。
jaxb - JAXB 架构到 Java 不同的 XmlRootElement 名称和类名称
我有一个 xsd 模式,我从中生成一些 java 类。我正在使用 jaxb 作为一代。
我希望能够生成一个用 注释的类@XmlRootElement
,但我希望 @XmlRootElement 名称属性与生成的类的名称不同。
在我的 xsd 中,我定义了以下内容:
这段代码生成以下 java 类:
的 name 属性@XmlRootElement
与生成的 Class 的名称相同。我希望生成的类名是CustomerReques
t。
我尝试使用jaxb:class
定义来更改类名。实际上,此选项更改了类名但删除了@XmlRootElement
注释,我需要它存在。
以下xsd:
生成此类:
如何在@XmlRootElement
不丢失注释的情况下使注释的属性名称与生成的类名不同?
解决方案更新: 用户 Xstian 提出了使用外部绑定的正确解决方案。仅供参考,我将使用转换为使用内联绑定的解决方案更新我自己的帖子:
java - 修改 java 类以在编译时包含特定的注解
我有许多由 JAXB 的 xsd2java 生成的类。我需要在编译时使用特定注释对所有这些类进行注释(例如使用 lombok 注释)。有没有办法做到这一点,例如使用一些代码生成工具?
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? 我也试过
这也没有在注释中添加任何包含部分。
jaxb - XJC注释问题
我正在尝试在我的 xjb 生成的存根上添加不推荐使用的注释。
它不会失败,但不会将 xml 属性放在字段上。这就是 xsd 的外观 -
但是,以下工作
我错过了什么吗?如何在 stub 的 getDetailsForm() 上添加 @Deprecated ?
enums - 如何使用 jaxb2-basics-annotate 注释枚举?
我正在使用 maven-jaxb2-plugin 和 jaxb2-basics-annotate 插件从我的 xsd 自动生成 POJO。我已经成功地在 POJO 中生成了注释。我需要将注释应用于枚举中的方法,但无法弄清楚如何去做。
xsd有,
生成的文件
我需要的是在上面的 value 方法中添加 JsonValue 注释。
我尝试了以下和其他一些调整,但在 binding.xjb 中没有任何效果。
有什么叫做 annotateEnum 的东西吗?它可以工作,如果可以的话如何?
请帮忙。
java - jaxb2-annotate-plugin 不工作
我想在生成的“Doc”类之前生成“@java.lang.SuppressWarnings("all")”。
问题:jaxb2-annotate-plugin 不生成注释。
我的 pom.xml:
我的 XSD:
我尝试了所有三种方法在 Doc 类之前生成“@java.lang.SuppressWarnings("all")"
xsd - 如何在命令行中将 jaxb2-annotate-plugin 与 XJC 一起使用
我在命令行(xjc.bat)中使用“jaxb-ri”构建基于xsd的java类。我想使用 jaxb2-annotate_plugin 在 XmlType 注释中设置命名空间,但我不知道如何将此插件添加到 xjc 类路径并激活它。
这是我的外部 bindings.xjb 文件:
我的命令行是:
当我执行此命令时,我收到一条错误消息,指出不支持“ http://annox.dev.java.net ”。
提前致谢。
java - 使用 jaxb2-annotate-plugin 和 XJC 工具自定义注释
我正在尝试在运行时将一堆 XSD 文件转换为 Java 源 POJO。这些 XML 模式将基于某些协议特定的模型定义生成。
我已经使用 JAXB 的 XJC 将架构编译为 pojo。当我使用Jaxb2-annotate-plugin进行自定义注释时开始面临问题。
为了测试,我在我的架构中添加了以下内容,
XJC 从那里开始给出以下错误,
不支持的绑定命名空间“ http://annox.dev.java.net ”。也许您的意思是“ http://java.sun.com/xml/ns/jaxb/xjc ”?
根据各种来源提供的建议,在 XJC 的类路径中添加了所需的 JARS,如下所示,但对我来说似乎没有任何锻炼。
xjc -p com.test -classpath="jaxb2-basics-annotate-1.0.2.jar;tools-0.4.1.5.jar;commons-logging-1.1.1.jar;jaxb2-basics-runtime- 0.9.5;annox-1.0.1.jar;javaparser-1.0.11.jar;jaxb2-basics-tools-0.9.5.jar" - 扩展 myschema.xsd
我找不到使用带有 jaxb2-annotate-plugin 的 XJC 生成 java 源代码的合适示例。我不能在我的 maven/ant 中添加它,因为我提到我必须在运行时生成 xsd 和 pojo。
如果使用 XJC 工具作为 java 进程是唯一的方法,请告诉我,
- 类路径中要包含哪些依赖 jar?
- 如何激活插件和 -Xannotate 开关?
如果可以使用此插件以其他方式完成 pojo 生成,请提出相同的建议。
我是jaxb的新手。任何建议都会非常有帮助。提前致谢!
eclipse - 如何使用 jaxb2-annotate-plugin
我刚刚学习了如何使用 JAXB(使用 Maven)从 XSD 生成 Java 类,现在我需要在生成的类中添加一些注释。我发现jaxb2-annotate-plugin
它正是这样做的,但我不知道如何在我的项目中使用它。谁能提供一些分步教程或有用的解释?任何帮助,将不胜感激。