Java XML-“XML”;1“非法声明例外”的计数;

Java XML-“XML”;1“非法声明例外”的计数;,java,xml,Java,Xml,我在Java应用程序中运行这段代码,第一行抛出异常IllegalAnnotationExceptions: JAXBContext-JAXBContext=JAXBContext.newInstance(Product.class); Marshaller jaxbMarshaller=jaxbContext.createMarshaller(); //输出精美印刷品 setProperty(Marshaller.JAXB_格式化的_输出,true); jaxbMarshaller.marsha

我在Java应用程序中运行这段代码,第一行抛出异常IllegalAnnotationExceptions

JAXBContext-JAXBContext=JAXBContext.newInstance(Product.class);
Marshaller jaxbMarshaller=jaxbContext.createMarshaller();
//输出精美印刷品
setProperty(Marshaller.JAXB_格式化的_输出,true);
jaxbMarshaller.marshall(productFound,serverOutput);
我不熟悉XML格式。所以,从我在互联网上看到的情况来看,问题来自类产品,这意味着这个文件:

套餐服务;
导入javax.xml.bind.annotation.*;
@XmlRootElement(name=“Product”)
@XmlAccessorType(XmlAccessType.FIELD)
公共类产品{
@xmlement(name=“id”)
私有字符串id;
@xmlement(name=“name”)
私有字符串名称;
@xmlement(name=“price”)
私人字符串价格;
公共产品(字符串id、字符串名称、字符串价格){
超级();
this.id=id;
this.name=名称;
这个价格=价格;
}
公共字符串getId(){
返回id;
}
公共无效集合id(字符串id){
this.id=id;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共字符串getPrice(){
退货价格;
}
公共无效设置价格(字符串价格){
这个价格=价格;
}
}
特别是关于注释。 我做错什么了吗?或者我的代码中有什么奇怪的地方


谢谢

根据您正在使用的JAXB实现,您可能需要向
产品
类添加无参数构造函数,例如:

public Product() {}

有关更多信息,请参见此。

根据您正在使用的JAXB实现,您可能需要向
产品
类添加无参数构造函数,例如:

public Product() {}

有关详细信息,请参阅此部分。

您的产品类必须具有无参数构造函数。对于没有
构造函数,Java编译器为类合成一个无参数的构造函数。一旦显式添加构造函数,编译器就不会添加默认的无参数构造函数,因此这里还必须添加显式的无参数构造函数,以供JAXB实现使用。

您的产品类必须具有无参数构造函数。对于没有
构造函数,Java编译器为类合成一个无参数的构造函数。一旦显式添加构造函数,编译器就不会添加默认的无参数构造函数,因此这里还必须添加显式的无参数构造函数,以便JAXB的实现使用。

好的,我不知道这一点。现在我把它修好了,非常感谢!!好吧,我不知道。现在我把它修好了,非常感谢!!