Java JAXBException:没有给出包名

Java JAXBException:没有给出包名,java,eclipse,jaxb,Java,Eclipse,Jaxb,对于XML文件解析,我使用JAXB,但编译后报告了以下错误 javax.xml.bind.JAXBException: No package name is given at javax.xml.bind.ContextFinder.find(Unknown Source) at javax.xml.bind.JAXBContext.newInstance(Unknown Source) at javax.xml.bind.JAXBContext.newInstance(Unknown Sour

对于XML文件解析,我使用JAXB,但编译后报告了以下错误

javax.xml.bind.JAXBException: No package name is given
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at searchAlgo.Question.<init>(Question.java:16)
我需要安装JAXB插件吗?
我使用的是JDK1.8.091和EclipseMars,JAXBContext.newInstance()需要一个类或包名。因为s是一个字符串,所以它被解释为一个包名。但是您的字符串为空,因此您会得到“未提供任何包名”

JAXBContext。newInstance()需要类或包名。因为s是一个字符串,所以它被解释为一个包名。但是您的字符串是空的,因此您会得到“没有给出包名”

您的问题是您没有正确使用JAXB。

首先,

JAXBContext jaxbContext = JAXBContext.newInstance(s);
是错误的,因为
JAXBContext.newInstance(…)
根据

关键是要确定JAXB正在处理什么类型的对象。换句话说,它将是您在
C:\\Users\\Username\\Documents\\levels.xml
xml文件中拥有什么类型的对象

第二,

如果要将对象从XML文件或marshall对象解组为字符串,我建议您阅读以下文档并提供大量示例:


您的问题是没有正确使用JAXB。

首先,

JAXBContext jaxbContext = JAXBContext.newInstance(s);
是错误的,因为
JAXBContext.newInstance(…)
根据

关键是要确定JAXB正在处理什么类型的对象。换句话说,它将是您在
C:\\Users\\Username\\Documents\\levels.xml
xml文件中拥有什么类型的对象

第二,

如果要将对象从XML文件或marshall对象解组为字符串,我建议您阅读以下文档并提供大量示例:


这个问题以前有人问过。这个问题以前有人问过。