草庐IT

JAXB_FORMATTED_OUTPUT

全部标签

java - 有没有办法处理 JAXB 中多个 .xsd 文件中的重复元素定义?

我有几十个.xsd文件要为其自动生成代码。当我尝试同时生成所有文件时,其中一些文件的名称会发生​​冲突。我只专注于尝试让其中2个发挥作用。当我得到这2个工作时,我会解决其余的问题。但我现在只关注其中两个文件。我无法控制它们,它们来自供应商并遵循“标准”,因此出于多种原因编辑它们不是一种选择。我正在使用maven-jaxb2-plugin来处理这些文件。我添加了一个binding.xjb文件,如matb的答案中的链接和我在网上找到的其他说明中所建议的那样。但是我收到以下错误,没有输出。出现以下错误[ERROR]Errorwhileparsingschema(s).Location[fil

java - JAXB 可以处理 java.time 对象吗?

我知道JAXB(JavaArchitectureforXMLBinding)可以编码/取消编码java.util.Date对象,如thisanswerbyBlaiseDoughan中所示.但是新的java.timepackage呢?Java8中的对象,如ZonedDateTime?是否已更新JAXB以处理这种新的内置数据类型? 最佳答案 在JavaSE8中,JAXB尚未更新以支持java.time类型。确实有一个issue在引用实现中与此相关。您需要创建和使用XmlAdapter处理这些类型。使用类似于Joda-Time的方法如本帖

java - JAXB, XJC -> 创建多个类文件

我是第一次使用JAXB和XJC。我想从XML文件生成Java类,所以我使用thisonlinehelper从XML文件生成架构。之后我只是使用这个命令行来生成Java类:xjcmyschema.xsd它可以工作,但我只收到一个Java文件和其中的许多静态类。请问这是否可以生成许多java文件,每个文件只包含一个类?谢谢 最佳答案 默认JAXB(JSR-222)将为嵌套的复杂类型创建静态内部类以防止类名冲突。您可以使用外部绑定(bind)文件来禁用此行为。binding.xml绑定(bind)文件允许您自定义如何从XML模式生成Jav

java - 如何为 JAXB2 Maven 插件指定 javax.xml.accessExternalSchema

我有一个maven插件(jaxb2),我需要为它提供一个jvmarg。我认为在pom中没有为它添加jvmargs的标签。我知道我可以在命令行中传入jvmargs例如:mvncleaninstall-Djavax.xml.accessExternalSchema=all是否可以在pom中设置这个jvmarg,这样我就不必每次都在命令行中输入它?(顺便说一句-这个jvmarg是必需的,以便它与JAVA-8一起工作。它与JAVA-7一起工作正常) 最佳答案 这与新的XMLsecuritypropertiesinJAXB1.5有关,在Jav

java - 如何让 JAXB 将 boolean 值呈现为 0 和 1,而不是真假

有一个简单的问题。有谁知道如何让JAXB(marshall)将boolean字段呈现为1和0而不是打印出“true”和“false”? 最佳答案 适配器类:importjavax.xml.bind.annotation.adapters.XmlAdapter;publicclassBooleanAdapterextendsXmlAdapter{@OverridepublicBooleanunmarshal(Integers){returns==null?null:s==1;}@OverridepublicIntegermarshal

java - 使用注释的 JAXB 验证

如果我有一个简单的类,例如:-@XmlRootElementpublicclassMyClass{@XmlAttribute(required=true)privateStringmyattribute}是否可以在没有xml架构的情况下验证相应的xml文档,即仅使用注释? 最佳答案 好问题。据我所知,required属性是XJC在找到非可选模式类型时生成的,我认为它也被模式生成器使用。但在运行时,它不用于任何用途,仅用于文档注释。您可以考虑的一件事是JAXB运行时的callbackoptions.在这种情况下,您可以在MyClass

java - JAXB XJC 可以禁止在生成的类中创建注释吗?

我们的项目使用XJC从XSD生成Java类。我正在使用JAVAEE6。当我们拥有的所有XSD重新生成时,生成的类在文件顶部包含以下注释://Generatedon:2011.02.23at02:17:06PMGMT是否可以取消此评论?原因是我们使用SVN进行版本控制,并且每次我们重新生成我们的类时,每个文件都会在SVN中显示为被更改,尽管唯一不同的是这条注释。因此,如果可能的话,我想完全删除评论。有一个-no-header指令,但是我不想去掉整个header,让后人知道它是一个工具生成的文件,修改会覆盖。我只想删除时间戳。(或者,我会删除内置标题,然后以某种方式插入我自己的标题。)

java - 解析 XML 期间抛出 JAXB IllegalAnnotationException

这是我的XML文件:我创建了2个类来解析它(Fields.java和Field.java):@XmlRootElement(name="fields")publicclassFields{@XmlElement(name="field")Listfields=newArrayList();//getter,setter}和publicclassField{@XmlAttribute(name="mappedField")StringmappedField;//getter,setter}但我得到了这个异常(exception):[INFO]com.sun.xml.internal.bi

java - 如何阅读冗长的 :GC output?

70.222:[GC[PSYoungGen:131072K->15437K(152896K)]131072K->15509K(502464K),0.0228420secs][Times:user=0.09sys=0.01,real=0.02secs] 最佳答案 您可以找到解释详细GC输出的教程,例如。在:verbosegcoutputtutorial-Java7HeapsettingsandreadingverboseGCoutput看verbosegcoutputtutorial-Java7,可以看到YoungGen空间分析:20

java - 带有元素引用的 JAXB 多个模式

我有两个使用JAXB处理的模式。第一个模式是预处理的,并且使用剧集文件(在http://www.java.net/blog/2006/09/05/separate-compilation-jaxb-ri-21之后)使用其信息。第二个模式导入第一个,并再次使用jaxb进行处理。这一切都按预期工作。但现在我在第一个模式中有一个元素,在第二个模式中使用引用。架构a:架构b:在处理过程中没有任何问题,但是为两种模式生成的代码提供了相同的方法:publicJAXBElementcreateType(TypeTypevalue)在运行时,这会导致以下错误:com.sun.xml.internal.