404 ao chamar o endpoint REST de Jersey 2 no Glassfish

Este é meu web.xml

 Simulator HTTP API org.glassfish.jersey.servlet.ServletContainer 1   Simulator HTTP API /*   

e este é o meu serviço web simples:

 @Path("partner") public class PartnerAPI { @Path("/mt") @GET @Produces(MediaType.TEXT_PLAIN) public String sendMT() { return "Sent"; } } 

quando eu chamo assim:

 http://localhost:8080/myprojectname/partner/mt 

Eu recebo 404 erro mot encontrado, o que estou fazendo de errado?

Atualizar

este é meu maven

  org.glassfish.jersey.core jersey-server 2.22.1   org.glassfish.jersey.core jersey-common 2.22.1   org.glassfish.jersey.core jersey-client 2.22.1   org.glassfish.jersey.containers jersey-container-servlet 2.22.1  

Você tem diferentes opções de implantação em Jersey 2:

Se você quiser fazer isso via web.xml você tem que adicionar um init-param onde você especifica quais pacotes devem ser verificados:

  Simulator HTTP API org.glassfish.jersey.servlet.ServletContainer  jersey.config.server.provider.packages insert.packagename.where.your.class.is.here   

Outra opção é criar uma class básica para configurar seu aplicativo REST.

Isso ficaria assim:

 import javax.ws.rs.ApplicationPath; import org.glassfish.jersey.server.ResourceConfig; @ApplicationPath("/test") public class YourApplication extends ResourceConfig { public YourApplication() { this.packages("insert.packagename.where.your.class.is.here"); } } 

Certifique-se de atualizar a string com o nome do pacote onde sua class PartnerAPI está.

Em seguida, adicione o valor dentro de @ApplicationPath ao seu URL.
O link ficaria assim: http: // localhost: 8080 / myprojectname / test / partner / mt

Mais informações: Jersey docs: Capítulo 4. Implementando um Serviço da Web RESTful