Я пытаюсь создать простой API JAX-RS с использованием Gradle. Я пытаюсь создать API без файла web.xml, расширив класс Application. Пример кода и файл сборки включены ниже.
RestApp.java
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("webapi")
public class RestApp extends Application {
}
TestResource.java
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("test")
public class TestResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String testStart(){
return "This Works";
}
}
и вот мой build.gradle file
apply plugin: 'war'
apply from: 'https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin'
group 'com.test.app'
version '1.0-SNAPSHOT'
gretty {
httpPort = 8080
contextPath = '/WebApp'
managedClassReload = true
}
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile group: 'org.glassfish.jersey.core', name: 'jersey-server', version: '2.27'
compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.27'
}
После запуска задачи jettyStartWar при попытке доступа к http://localhost:8080/WebApp/webapp/test выдается ошибка 404. Что не так в моем файле сборки?