Java Mule JAXB对象到XML转换器抛出JAXBEException
我正在使用Mule 3.6。我有一个用JAXB绑定注释的对象,我正试图在Mule中将其转换为XML。每当我尝试这样做时,就会得到一个Java Mule JAXB对象到XML转换器抛出JAXBEException,java,xml,jaxb,mule,Java,Xml,Jaxb,Mule,我正在使用Mule 3.6。我有一个用JAXB绑定注释的对象,我正试图在Mule中将其转换为XML。每当我尝试这样做时,就会得到一个javax.xml.bind.JAXBException:“com.mj.metal.object”不包含ObjectFactory.class或jaxb.index。我的变压器定义为: <mulexml:jaxb-context name="JAXB_Context" packageNames="com.mj.metal.object"/> <m
javax.xml.bind.JAXBException:“com.mj.metal.object”不包含ObjectFactory.class或jaxb.index
。我的变压器定义为:
<mulexml:jaxb-context name="JAXB_Context" packageNames="com.mj.metal.object"/>
<mulexml:jaxb-object-to-xml-transformer mimeType="application/xml" jaxbContext-ref="JAXB_Context" doc:name="JAXB Object to XML"/>
这个包包含要进行转换的类。其中之一是:
@XmlRootElement(name = "REPORT")
@XmlAccessorType(XmlAccessType.FIELD)
public class Report {
@XmlElement(name = "HEADER")
private Header header;
@XmlElementWrapper(name = "ITEMS")
@XmlElement(name = "ITEM")
private List<Item> items;
public Report() {
super();
header = new Header();
items = new ArrayList<Item>();
}
public Header getHeader() {
return header;
}
public List<Item> getItems() {
return items;
}
public void setHeader(Header header) {
this.header = header;
}
public void setItems(List<Item> items) {
this.items = items;
}
@Override
public String toString() {
return "\nReport [header=" + header + "\nitems=" + items + "]";
}
}
@XmlRootElement(name=“REPORT”)
@XmlAccessorType(XmlAccessType.FIELD)
公开课报告{
@xmlement(name=“HEADER”)
私有报头;
@xmlementwrapper(name=“ITEMS”)
@xmlement(name=“ITEM”)
私人清单项目;
公开报告({
超级();
页眉=新页眉();
items=newarraylist();
}
公共头getHeader(){
返回头;
}
公共列表getItems(){
退货项目;
}
公共无效集合标头(标头){
this.header=头;
}
公共无效集合项(列表项){
这个项目=项目;
}
@凌驾
公共字符串toString(){
返回“\n报告[header=“+header+”\nitems=“+items+”]”;
}
}
如何修复此问题?您需要将jaxb.index文件添加到类路径中,以便jaxb能够知道应该将XML数据结构映射到哪些类 index文件只是包含包中具有jaxb注释的类的列表。只需输入他们简单的名字(不需要完全分类的名字就足够了) 这些链接可能会帮助您: