jaxb – 如何在xjc中禁用Java命名约定?
发布时间:2020-05-25 01:12:36 所属栏目:Java 来源:互联网
导读:例如,xsd中的sOmE_PROPerty必须是 java类中的sOmE_PROPerty而不是someProperty. 我试图使用globalBindings enableJavaNamingConventions =“false”但它不起作用. 您将需要使用underscoreBinding =“asCharInWord”而不是enableJavaNamingConventions =“fa
|
例如,xsd中的sOmE_PROPerty必须是 java类中的sOmE_PROPerty而不是someProperty. 我试图使用globalBindings enableJavaNamingConventions =“false”但它不起作用. 解决方法您将需要使用underscoreBinding =“asCharInWord”而不是enableJavaNamingConventions =“false”:customer.xsd <?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
targetNamespace="http://www.example.org/customer"
xmlns="http://www.example.org/customer"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:complexType name="customer">
<xsd:sequence>
<xsd:element name="sOmE_PROPerty" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
binding.xml JAXB绑定文件用于自定义Java转换的模式: <jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
version="2.1">
<jaxb:globalBindings underscoreBinding="asCharInWord"/>
</jaxb:bindings>
XJC电话 xjc -d out -b binding.xml customer.xsd 顾客 生成的属性名称现在包含下划线字符: package org.example.customer;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "customer",propOrder = {
"sOmEPROPerty"
})
public class Customer {
@XmlElement(name = "sOmE_PROPerty",required = true)
protected String sOmEPROPerty;
public String getSOmE_PROPerty() {
return sOmEPROPerty;
}
public void setSOmE_PROPerty(String value) {
this.sOmEPROPerty = value;
}
}
不使用binding.xml 如果您改为进行以下XJC调用: xjc -d out -customer.xsd 您将看到生成的属性不包含下划线: package org.example.customer;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "customer",required = true)
protected String sOmEPROPerty;
public String getSOmEPROPerty() {
return sOmEPROPerty;
}
public void setSOmEPROPerty(String value) {
this.sOmEPROPerty = value;
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – NumberFormat setMaximumFractionDigits
- java – 如何在返回多种类型的XML的URL上使用Spr
- 在Java程序中包含第三方jar文件的最佳实践是什么
- java – 使用RestTemplate的Spring Security身份
- 下载网络文件的Java代码
- java – Embedded Jetty:选择现有的Spring MVC控
- java – 当方法之间的差异是参数子类型时,将null
- 你可以帮我收集Java Best Practices在线材料集合
- java系统首选在linux下的不同用户
- rx-java – rx.exceptions.OnErrorNotImplemente
热点阅读
