使用不带gradle的web.xml构建的JAX-RS项目抛出404

时间:2018-10-30 10:21:41

标签: java gradle jersey jax-rs

我正在尝试使用Gradle构建一个简单的JAX-RS API。我想要做的是通过扩展Application类来构建不带web.xml文件的API。下面包含示例代码和构建文件。

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 文件

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错误。我的构建文件出了什么问题?

0 个答案:

没有答案