JAX-RS application without an Application subclass
build.gradle
group 'ir.iterator' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'war' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' // https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server compile group: 'org.glassfish.jersey.core', name: 'jersey-server', version: '2.25.1' // https://mvnrepository.com/artifact/org.glassfish.jersey.containers/jersey-container-servlet compile group: 'org.glassfish.jersey.containers', name: 'jersey-container-servlet', version: '2.25' }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <servlet> <servlet-name>javax.ws.rs.core.Application</servlet-name> </servlet> <servlet-mapping> <servlet-name>javax.ws.rs.core.Application</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
HelloWorldResource.java
@Path("hello") public class HelloWorldResource { @GET @Produces(MediaType.TEXT_PLAIN) @Path("get") public String sayhello() { return "hello"; } }
References
http://stackoverflow.com/questions/22994690/which-init-param-to-use-jersey-config-server-provider-packages-or-javax-ws-rs-a
https://jersey.java.net/documentation/latest/deployment.html#deployment.servlet.3.pluggability.noapp