Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jaxb使用“创建布尔方法访问器名称”;获得;而不是",;是";前缀_Java_Xml_Maven_Jaxb_Xsd - Fatal编程技术网

Java Jaxb使用“创建布尔方法访问器名称”;获得;而不是",;是";前缀

Java Jaxb使用“创建布尔方法访问器名称”;获得;而不是",;是";前缀,java,xml,maven,jaxb,xsd,Java,Xml,Maven,Jaxb,Xsd,使用jaxb2 maven插件和jaxb xjc,在生成类时,jaxb创建带有get前缀的布尔访问器,但我希望它使用java约定“is”创建 以下是xsd: <xsd:complexType name="QueryWorkgroupRequestType"> <xsd:sequence> ... <xsd:element name="disabled" type="xsd:boolean" minOccurs="0" maxO

使用jaxb2 maven插件和jaxb xjc,在生成类时,jaxb创建带有get前缀的布尔访问器,但我希望它使用java约定“is”创建

以下是xsd:

    <xsd:complexType name="QueryWorkgroupRequestType">
    <xsd:sequence>
    ...
        <xsd:element name="disabled" type="xsd:boolean" minOccurs="0" maxOccurs="1" />
    ...
    </xsd:sequence>
</xsd:complexType>
但是我想要

public Boolean isDisabled() {
    return disabled;
}
我试过了


但是没有机会

**已解决**


我终于可以解决这个问题了,maven使用了JDK1.8,不知怎的用了1.8。使用1.6修复了它,现在可以根据需要工作。

Java Bean访问器方法的
is
前缀仅对基元类型
boolean
的属性有效。对于所有其他类型(包括
java.lang.Boolean
reference类型),将被识别为bean属性访问器的唯一有效前缀是
get


如果元素不可为null(即它没有
minOccurs=“0”
),则它将绑定到类型为
布尔的属性,而不是
布尔的属性,并将获得
is
访问器。

不幸的是,它必须是Boolean@hevi不幸的是,在这种情况下,它必须是
get
-返回非
boolean
类型的
isSomething
方法不符合Java Bean属性访问器的条件。XJC中有一个错误,它为boolean生成is*,这是错误的,根据JavaBean规范,您可以传递XJC标志
-enableIntrospection
,以生成正确的getter。请参阅使用1.6并没有“修复”任何东西-JAXB参考实现的早期版本错误地为
布尔
属性生成了“is”访问器,而不是“get”访问器。此错误已修复,但您正在使用的Java6似乎包含有错误版本的JAXB。无论是哪种情况,都有一个代码使用“错误”版本,并且可能有一些代码存在相同的问题。我不确定哪一个是错误的,因为使用enableJavaNamingConventions对jdk1.8也不起作用,所以我觉得仍然存在歧义。
public Boolean isDisabled() {
    return disabled;
}