是否有可能强制XJC不生成映射到键值对转换列表?
当我接受Jaxb注释类时
@XmlRootElement
public class Customer {
private Map<String, Address> addressMap = new HashMap<String, Address>();
public Map<String, Address> getAddressMap() {
return addressMap;
}
public void setAddressMap(Map<String, Address> addressMap) {
this.addressMap = addressMap;
}
}
<xs:element name="customer" type="customer"/>
<xs:complexType name="address">
<xs:sequence>
<xs:element name="street" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="customer">
<xs:sequence>
<xs:element name="addressMap">
<xs:complexType>
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="key" minOccurs="0" type="xs:string"/>
<xs:element name="value" minOccurs="0" type="address"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.1">
<jaxb:bindings schemaLocation="schema1.xsd">
<jaxb:bindings node="//xs:complexType[@name='customer']//xs:element[@name='addressMap']">
<jaxb:property>
<jaxb:baseType name="java.util.HashMap<String,Address>" />
</jaxb:property>
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "customer", propOrder = {
"addressMap"
})
public class Customer {
@XmlElement(required = true)
@XmlJavaTypeAdapter(MapAdapter.class)
protected HashMap<String, Address> addressMap;
public HashMap<String, Address> getAddressMap() {
return addressMap;
}
public void setAddressMap(HashMap<String, Address> value) {
this.addressMap = value;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"entry"
})
public static class AddressMap {
protected List<Customer.AddressMap.Entry> entry;
public List<Customer.AddressMap.Entry> getEntry() {
if (entry == null) {
entry = new ArrayList<Customer.AddressMap.Entry>();
}
return this.entry;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"key",
"value"
})
public static class Entry {
protected java.lang.String key;
protected blog.map.generated.Address value;
public java.lang.String getKey() {
return key;
}
public void setKey(java.lang.String value) {
this.key = value;
}
public blog.map.generated.Address getValue() {
return value;
}
public void setValue(blog.map.generated.Address value) {
this.value = value;
}
}
}
}
没有一种标准的JAXB(JSR-222)方法可以从XML模式生成以下类。
@XmlRootElement
public class Customer {
private Map<String, Address> addressMap = new HashMap<String, Address>();
public Map<String, Address> getAddressMap() {
return addressMap;
}
public void setAddressMap(Map<String, Address> addressMap) {
this.addressMap = addressMap;
}
}
几个小时以来,我一直在努力让MapStruct为JAXB生成的类生成有效的映射器。这些类的特殊性在于,它们既没有集合的setter,也没有集合的adder。例如: 类avove有一个getter和一个属性设置器(本例中为firstName),但对于集合(此处列出),它只有一个getter。因此,消费者有责任通过getAddressTypes(add(new AddressType(...))进行访
我有一个问题与转换列表对象映射字符串,列表对象。我正在寻找与一个关键名称的汽车所有组件的地图,一个值由汽车与此组件表示 我写了一个解决方案,但寻找一个更好的流解决方案。
当目标WSDL/XSDS放在某些特定路径下时,wsimport和xjc命令(都是作为Java JDK的一部分下载的)将忽略提供的jaxb绑定文件。
我想创建一个Eclipse风格的快捷方式Ctrl鼠标点击打开函数/方法。升华文本3已经有了这个名为的函数,但它绑定到了F12。 但我不知道如何创建这个绑定。我在这里查找文档,但太复杂了。你能帮我解决这个简单的密钥绑定问题吗? 编辑:在这篇文章之后,我被告知要这样做:http://webtempest.com/better-definition-navigation-in-sublime-text-
我使用jaxb 3.0.0(xjc.sh)来创建Java类,但出于某种原因,它不尊重嵌入式绑定。jaxb 2.3.1也可以正常工作 $pwd/c/jaxb-ri-3.0.0/jaxb-ri/bin xjc.shValidation.xsd 它正在创建ApiValidator。java,我希望它不会创建一个新的绑定,而不是引用我作为嵌入绑定的绑定。 a/model/ApiValidator。java
我正在使用MapStruct和maven,如文档中所述(http://mapstruct.org/documentation/stable/reference/html/). 现在,我想将生成的映射器类的位置从目标文件夹更改为源文件夹。我已经阅读了如何更改mapstruct生成的类location和M2E,以及如何将maven生成的源文件夹作为eclipse源文件夹,并通过使用maven处理器插件