Guilherme,
Boa tarde. Fiz o import do jaxb-api.jar no projeto pelo Java Build Path, os erros do código sumiram e o código ficou assim antes de roda-lo:
package br.com.alura.teste;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import br.com.alura.model.Venda;
public class MapeiaXMLDireto {
public static void main(String[] args) throws Exception {
JAXBContext jaxbContext = JAXBContext.newInstance(Venda.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
Venda venda = (Venda) unmarshaller.unmarshal(new File("src/vendas.xml"));
System.out.println(venda);
}
}
Mas surgiu a seguinte mensagem no console ao rodar esse código:
Exception in thread "main" javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:269)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:412)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:721)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:662)
at br.com.alura.teste.MapeiaXMLDireto.main(MapeiaXMLDireto.java:13)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:122)
at javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:155)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:267)
... 4 more
Não entendi muito bem qual é o problema. Se puder ajudar, agradeço.