Boa noite pessoal, estou tentando aprender a desevolver com Jersey, mas tem 2 dias inteiros que tento implementar e atualmente estou travado no seguinte erro: HTTP Status [500] – [Internal Server Error]
java.lang.NoClassDefFoundError: Could not initialize class org.glassfish.jersey.internal.inject.Providers
org.glassfish.jersey.model.internal.ComponentBag.modelFor(ComponentBag.java:518)
org.glassfish.jersey.model.internal.ComponentBag.lambda$registerModel$10(ComponentBag.java:477)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:228)
org.glassfish.jersey.model.internal.ComponentBag.registerModel(ComponentBag.java:469)
org.glassfish.jersey.model.internal.ComponentBag.register(ComponentBag.java:380)
org.glassfish.jersey.model.internal.CommonConfig.register(CommonConfig.java:454)
org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:450)
org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:330)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1366)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
Note The full stack trace of the root cause is available in the server logs.
vou colocar aqui o meu pom.xml mas ja tentei com varias versões das dependências, tentei colocando só 1, 2, e etc, tentei toda combinação de dependências e versões mas foi em vão:
Essa configuração diz ao jersey onde ele deve procurar por classes anotadas com @Provider e @Path pra que ele possa registrá-las. COmo está a estrutura de pacotes do seu projeto?
Como está declarada sua classe de recurso com uma das anotações supracitadas?
alterei a versão mas o problema persiste.
O package declarado na classe foi gerado automaticamente pelo eclipse ao criar a classe. Eu mudei o pagckage para firstapi.api mas o eclipse acusou erro, a solução dada pelo eclipse era criar um package chamado firstapi e colocar o package api dentro. no caso firstapi era o nome do projeto.
De qualquer forma o erro ainda continua, eu literalmente nao sei mais oque fazer…
De acordo com o print que vc colocou, firstapi é o seu contexto e ele não faz parte do pacote. Da forma que vc configurou, seria necessário ter um nível de diretório superior ao api com o nome firstapi.
Se não der certo, altere o param-name para com.sun.jersey.config.property.packages
java.lang.ClassNotFoundException: javax.ws.rs.client.RxInvokerProvider
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1109)
org.glassfish.jersey.internal.inject.Providers.getJaxRsProviderInterfaces(Providers.java:117)
org.glassfish.jersey.internal.inject.Providers.(Providers.java:90)
org.glassfish.jersey.model.internal.ComponentBag.modelFor(ComponentBag.java:518)
org.glassfish.jersey.model.internal.ComponentBag.lambda$registerModel$10(ComponentBag.java:477)
org.glassfish.jersey.internal.Errors.process(Errors.java:315)
org.glassfish.jersey.internal.Errors.process(Errors.java:297)
org.glassfish.jersey.internal.Errors.process(Errors.java:228)
org.glassfish.jersey.model.internal.ComponentBag.registerModel(ComponentBag.java:469)
org.glassfish.jersey.model.internal.ComponentBag.register(ComponentBag.java:380)
org.glassfish.jersey.model.internal.CommonConfig.register(CommonConfig.java:454)
org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:450)
org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:330)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1366)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)
Note The full stack trace of the root cause is available in the server logs.
Pessoal muito obrigado mesmo pela ajuda de vocês, consegui rodar o código, para isso tive que adicionar algumas dependências e alterei a versão de algumas que eu estava usando no final ficou assim: