学习jaxb javabean转xml报错,求助

[复制链接]
查看11 | 回复1 | 2021-1-27 07:15:45 | 显示全部楼层 |阅读模式
学习jaxb的时候遇到如下问题:求助
JAVABEAN代码:
importjavax.xml.bind.annotation.*;

@XmlRootElement
publicclassBook{
publicStringgetTitle(){
returntitle;
}
publicvoidsetTitle(Stringtitle){
this.title=title;
}
publicStringgetAuthor(){
returnauthor;
}
publicvoidsetAuthor(Stringauthor){
this.author=author;
}
publicStringgetEmail(){
returnemail;
}
publicvoidsetEmail(Stringemail){
this.email=email;
}
publicStringgetDate(){
returndate;
}
publicvoidsetDate(Stringdate){
this.date=date;
}
privateStringtitle;
privateStringauthor;
privateStringemail;
privateStringdate;
}
JAXB代码:
publicclassJaxbDemo{
publicstaticvoidmain(String[]args){
JAXBContextcontext;//声明Jaxbcontext对象
StringWriterwriter=newStringWriter();
try{
context=JAXBContext.newInstance(Book.class);
Marshallerm=context.createMarshaller();
Bookbook=newBook();
book.setAuthor("AUTHOR");
book.setEmail("123");
book.setTitle("ceshi");
book.setDate("20180901");
m.marshal(context,writer);
System.out.print(writer.toString());
}catch(JAXBExceptione){
e.printStackTrace();
}
}
}
报错:
javax.xml.bind.JAXBException:classcom.sun.xml.internal.bind.v2.runtime.JAXBContextImpl以及其任何超类对此上下文都是未知的。
atcom.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:567)
atcom.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:467)
atcom.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:308)
atcom.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:236)
atjavax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:116)
atcom.ctrip.flight.ticket.learning.JaxbDemo.main(JaxbDemo.java:24)
atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
atjava.lang.reflect.Method.invoke(Method.java:498)
atcom.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:15:45 | 显示全部楼层
m.marshal(context,writer);第一个参数应该是book,不是context
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行