Como saber qual dependência é a correta de se usar?

3 respostas
mavenspringspring-bootjava
Roge

Tive um problema com a depência Jersey. Estava criando uma classe para que o Spring reconhecesse o Jersey (JAX-RS), porém me deparo com o seguinte erro:

> Error creating bean with name ‘jerseyConfig’: Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.glassfish.jersey.server.ResourceConfig] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@42110406]

Quando deu este erro eu estava usando a seguinte dependência:

<dependency>
        <groupId>org.glassfish.jersey</groupId>
        <artifactId>jax-rs-ri</artifactId>
        <version>2.0-rc1</version>
    </dependency>

Em um primeiro momento pensei que poderia ser problema de versão, então no maven central tentei usar outras diversas versões, porém eram do mesmo groupId (org.glassfish.jersey).

Após muito quebrar a cabeça e muita ajuda de outras comunidades, vi que além da versão incorreta, o pacote que eu estava usando era incorreto.

A dependência que resolveu o problema:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jersey</artifactId>
    </dependency>

Sei que algumas coisas talvez sejam em tentativa e erro, mas existe alguma outra maneira de evitar esse tipo de problema?

3 Respostas

davidbuzatto

Normalmente se evita sabendo-se exatamente o que se está fazendo. Como somos humanos e não sabemos nem uma ínfima fração de tudo que existe, errar faz parte. Sua “sorte” é ter que lidar com o maven que hoje em dia é um dos padrões da indústria. Antigamente, quando eu comecei, era tudo absolutamente na unha. Em relação ao seu problema, como está usando o spring boot, eu te daria a dica de sempre verificar se existe a dependência pronta para ser usada pelo spring boot. Assim vc evita dor de cabeça. Perceba que foi exatamente isso que resolveu seu problema.

Roge

Legal. Fiz a pergunta exatamente por entender que muitas vezes é assim mesmo, tentativa e erro até resolver. Mas pensei que as vezes poderia existir algum método mais simples.
Valeu, David.

hugokotsubo

Projetos sérios costumam documentar esse tipo de coisa. No caso do Spring, está aqui (e pode ver que o spring-boot-starter-jersey está nessa lista).

Mas claro, tem projeto que não documenta direito, e aí é na tentativa e erro mesmo…

Criado 23 de março de 2023
Ultima resposta 23 de mar. de 2023
Respostas 3
Participantes 3