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

Problemas ao subir o Eureka, não consigo achar a solução em lugar algum

Estou há praticamente 1 dia travado sem conseguir solução pra esse meu erro. Não dá nem pra progredir nas outras aulas pois o servidor eureka simplesmente não sobe. Já tentei inclusive baixar a aula 2 completa e tentar subir e mesmo assim não funciona.

Começa dando a seguinte exception o subir o Eureka:

java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present
    at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) ~[na:na]
    at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) ~[na:na]
    at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na]
... 

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]
    at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
    at java.base/java.lang.Class.forName(Class.java:467) ~[na:na]
    at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ~[na:na]
    ... 65 common frames omitted

Então procurando a solução eu adicionei a dependência necessária que é a seguinte:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>

E também tentei com essas:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

Mas ao incluir as dependências e atualizar o projeto, vem outra exception ao tentar subir:

java.lang.ExceptionInInitializerError: null
at com.thoughtworks.xstream.XStream.setupConverters(XStream.java:989) ~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.<init>(XStream.java:592) ~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.<init>(XStream.java:514) ~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.<init>(XStream.java:483) ~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.<init>(XStream.java:429) ~[xstream-1.4.10.jar:1.4.10]
at com.thoughtworks.xstream.XStream.<init>(XStream.java:396) ~[xstream-1.4.10.jar:1.4.10]

Não há espaço pra colocar a exception completa aqui, mas termina com:

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Comparator java.util.TreeMap.comparator accessible: module java.base does not "opens java.util" to unnamed module @57d7f8ca
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[na:na]
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[na:na]
    at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178) ~[na:na]
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:172) ~[na:na]
    at com.thoughtworks.xstream.core.util.Fields.locate(Fields.java:40) ~[xstream-1.4.10.jar:1.4.10]
    at com.thoughtworks.xstream.converters.collections.TreeMapConverter.<clinit>(TreeMapConverter.java:50) ~[xstream-1.4.10.jar:1.4.10]
    ... 83 common frames omitted

Vi que estava com o JDK 11 instalado quando na verdade o instrutor usava a 8, então desinstalei e tentei subir usando a 8 mas sem sucesso também.

Como dito já tentei várias dependências e sempre cai nesse mesmo erro, meu pom.xml também está com as versões corretas e idênticas ao do projeto final da aula 2.

Já tentei subir também com o projeto completo incluindo a loja e o fornecedor iguais aos do instrutor porém sem sucesso também. Vou deixar abaixo também a imagem completa da exception e o meu arquivo pom.xml como ele está agora.

3 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Tive exatamente o mesmo problema, segui os mesmos passos do instrutor e tentei corrigir da mesma forma que você, até achar a solução em outro post aqui no forum mesmo.

Usei a causa da exceção na busca do fórum: "Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Comparator java.util.TreeMap.comparator accessible: module java.base does not "opens java.util" to unnamed module"

Solução - Basta inserir mais uma dependência no pom.xml:

<dependency>
      <groupId>com.thoughtworks.xstream</groupId>
      <artifactId>xstream</artifactId>
      <version>1.4.19</version>
</dependency>

Após inserir a dependência e rodar um Maven Update o servidor Eureka subiu, vamos torcer que esse erro esteja resolvido e nos prepararmos para o próximo kkk.

Segue o post para referência: https://cursos.alura.com.br/forum/topico-java-lang-reflect-inaccessibleobjectexception-173427

Salvou minha vida!!! Fiquei literalmente dias quebrando a cabeça só com esse problema e não achava a solução em lugar algum.

Funcionou perfeitamente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software