Avatar ·

How to fix java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException in Java 9, 10, 11?

Hi everyone! I'm a beginner Java developer writing a simple application for working with XML. I'm using JAXB to convert objects to XML and back. It used to work fine on Java 8, but after switching to Java 11, I get this error when running:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

Here's my code:

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