Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro ao levantar o Servidor - createHttpServer

Ao tentar executar o método createHttpServer()

HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);

Tenho a seguinte saída no console

MultiException stack 1 of 7
java.lang.NoClassDefFoundError: javax/xml/bind/Unmarshaller
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3139)
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2266)
    at org.jvnet.hk2.internal.Utilities$4.run(Utilities.java:370)
    at org.jvnet.hk2.internal.Utilities$4.run(Utilities.java:366)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at org.jvnet.hk2.internal.Utilities.getDeclaredMethods(Utilities.java:366)
    at org.jvnet.hk2.internal.Utilities.getAllMethodKeys(Utilities.java:1340)
    at org.jvnet.hk2.internal.Utilities.getAllMethodKeys(Utilities.java:1338)
    at org.jvnet.hk2.internal.Utilities.getAllMethods(Utilities.java:1284)
    at org.jvnet.hk2.internal.Utilities.findInitializerMethods(Utilities.java:1368)
    at org.jvnet.hk2.internal.DefaultClassAnalyzer.getInitializerMethods(DefaultClassAnalyzer.java:102)
    at org.glassfish.jersey.internal.inject.JerseyClassAnalyzer.getInitializerMethods(JerseyClassAnalyzer.java:239)
    at org.jvnet.hk2.internal.Utilities.getInitMethods(Utilities.java:199)
    at org.jvnet.hk2.internal.Utilities.justInject(Utilities.java:789)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.inject(ServiceLocatorImpl.java:832)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:907)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:898)
    at org.glassfish.jersey.server.internal.inject.ParamConverters$AggregatedProvider.<init>(ParamConverters.java:229)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
    at org.glassfish.hk2.utilities.reflection.ReflectionHelper.makeMe(ReflectionHelper.java:1117)
3 respostas
solução!

Olá, Glauber.

Pelo java.base do stack trace você está usando o Java 9:

 at java.base/java.lang.Class.getDeclaredMethods0(Native Method)

Você tem 2 opções:

  • desinstalar o Java 9 e instalar o Java 8
  • continuar com o Java 9 e colocar a opção --add-modules java.xml.bind na Run configuration no Eclipse

Talvez você tenha que colocar outras opções dessas. Me diga se funcionou!

Mais detalhes sobre essa opção: https://alexandreaquiles.com.br/2017/10/13/sofrencia-com-java-9-cade-meu-jaxb/

Oi, Alexandre!

Primeiramente muito obrigado e parabéns pelo conteúdo ( https://alexandreaquiles.com.br/2017/10/13/sofrencia-com-java-9-cade-meu-jaxb/)

Eu gostei bastante!

Funcionou!

Bastou eu add essa opção conforme a sua sugestão : --add-modules java.xml.bind

Bacana, Gláuber! Obrigado!