如何修复 Java 9、10、11 中的 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
大家好!我是一名初级 Java 开发者,正在编写一个简单的 XML 处理应用。我使用 JAXB 将对象转换为 XML 以及反向转换。以前在 Java 8 上一切正常,但升级到 Java 11 后,运行时出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
这是我的代码:
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class XmlConverter {
public static void main(String[] args) {
try {
JAXBContext context = JAXBContext.newInstance(User.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
User user = new User("伊万", 25);
marshaller.marshal(user, System.out);
} catch (JAXBException e) {
e.printStackTrace();
}