3
respostas

Problema no import

Logo quando importei o projeto, apareceu o seguinte erro na classe CarrinhoDAO:

The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files

Fiz algumas rápidas pesquisas, e elas indicaram que provavelmente seja uma questão de incompatibilidade do JDK (estou utilizando o Open JDK 12).

Então, se o resultado das pesquisas estiver correto? E se estiver, seria razoável dizer que o JAX-RS é uma tecnologia antiga e trabalhar com ela seria desaconselhável?

Obs: pergunto isso porque, além do resultado das pesquisas, percebi que o projeto não utiliza maven.

3 respostas

De fato, modifiquei para o JDK e apareceram outros erros. Porém, ao modificar para o JDK 1.7, não apareceu mais erro.

Então, creio que a dúvida que resta é quanto à atualidade da tecnologia JAX-RS.

##Versão 3.0 e final do post (:D)

Com o JDK 1.7, ao rodar o projeto, ainda deu o erro ==> Errro Unsupported major.minor version 55.0

**

Com mais pesquisas, encontrei no forum da Alura que o projeto foi criado utilizando o JDK 11. Então baixei-o e, após a atualização, apareceu o erro ==> The import javax.xml.bind cannot be resolved (import javax.xml.bind)

**

Para resolver, tive que fazer mais pesquisas, até encontrar em outro link do fórum da Alura que o erro era causado pela ausência de um outro jar (jaxb-api-2.3.1.jar), então fiz o download e o coloquei na pasta "lib", tendo também que acrescentá-la ao "Classpath" posteriormente.

**

Em seguida, ainda apareceu o erro: java.lang.NoClassDefFoundError: javax/activation/DataSource

Depois de mais pesquisa, fiz o download do jar "activation-1.1.1.jar", fiz o mesmo procedimento descrito anteriormente para o jaxb-api-2.3.1.jar e então, finalmente, rodou.

Uma sugestão: pelo que percebi, as orientações da aula, juntamente com o código disponibilizado, estão desatualziados ou incompletos. Gastei boa parte da tarde garimpando na net para poder conseguir rodar o projeto disponibilizado logo na primeira aula do primeiro módulo. Tendo em vista que pela demonstração no vídeo o procedimento foi simplesmente importar e rodar e que eu consegui o a maior parte do conteúdo para resolver o problema no próprio fórum da Alura, em mensagens que outros alunos já postaram com os mesmos probleams, não seria mais interssante dar uma revisada no conteúdo para atualizá-lo?

Uma outra dúvida: já tem pelo menos uns 6 anos que não acrescento arquivos "jar" manualmente em projetos java. Em vez disso, utilizo o maven, que já elimina toda essa dor de cabeça de ter que ficar garimpando jars na net. Se possível, não seria legal ao atualizar o projeto passar a utilizar o maven?

Olá Everton, tudo bem?

Quanto à atualidade da tecnologia JAX-RS, ela ainda é amplamente utilizada e é uma das principais especificações para a criação de serviços web RESTful em Java. O JAX-RS faz parte das APIs Java EE (Enterprise Edition) e é suportado por várias bibliotecas, como o Jersey, que é utilizado no curso. Embora existam tecnologias mais recentes, como o Spring MVC, o JAX-RS ainda é uma opção válida para o desenvolvimento de serviços REST em Java.

Sobre a ausência do Maven no projeto, o curso pode ter sido criado antes da adoção generalizada do Maven ou pode ter optado por não utilizá-lo por motivos didáticos. O Maven é uma ferramenta popular para gerenciamento de dependências e construção de projetos em Java, e muitos projetos modernos o utilizam para facilitar o gerenciamento de bibliotecas e a configuração do projeto.

Entendo que você enfrentou desafios ao configurar o projeto devido a problemas de compatibilidade e dependências ausentes. É importante lembrar que as tecnologias e bibliotecas podem evoluir ao longo do tempo, e pode haver diferenças entre a versão do JDK e as dependências utilizadas em um projeto específico. Nesses casos, é necessário ajustar a configuração do ambiente de desenvolvimento para garantir que tudo funcione corretamente.

Agradeço pelo seu feedback sobre a necessidade de revisar e atualizar o conteúdo do curso, levando em consideração as mudanças nas dependências e nas melhores práticas de desenvolvimento. Vou encaminhar suas sugestões para a equipe responsável para que possam ser consideradas em futuras atualizações do curso.