Ao tentar executar o exercício 06 do capítulo 07, recebo o sguinte erro:
Exception in thread "main" javax.xml.bind.DataBindingException: 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.internal.bind.v2.ContextFactory]
at javax.xml.bind.JAXB._marshal(JAXB.java:589)
at javax.xml.bind.JAXB.marshal(JAXB.java:471)
at br.com.caelum.jms.TesteProdutorTopico.main(TesteProdutorTopico.java:36)
Caused by: 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.internal.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:278)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:421)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:721)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:662)
at javax.xml.bind.JAXB$Cache.<init>(JAXB.java:127)
at javax.xml.bind.JAXB.getContext(JAXB.java:154)
at javax.xml.bind.JAXB._marshal(JAXB.java:578)
... 2 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
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:276)
... 8 more
Eu segui diversas recomendações, mas nenhuma resolveu.
Já adicionei o jaxb-api-2.3.1.jar
O que mais posso fazer? Pelo que li, tem a ver com as mudanças introduzidas no Java 9 e também que o JAXB seria "deprecated".
Tem alguma outra forma de resolver isto para eu continuar o capítulo?