Jersey + Jetty + Gradle 404 错误 - 但在 Tomcat 中有效
Jersey + Jetty + Gradle 404 Error - but works in Tomcat
正在尝试将 Jetty Gradle 插件添加到当前项目。我的 war 在 Tomcat 部署下运行良好,但 Jetty 似乎因 404 错误而崩溃——好像它没有正确读取 web.xml(已验证它在那里)。
localhost:8080/rest/test <- 适用于 Tomcat
localhost:8080/rest/test <- 404 当 运行 jettyRun(war) 在 Gradle
我的简化代码(Java)
package testPackage;
//includes...
@Path("test")
public class TestResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String testResponse() {
return "test";
}
}
build.grade
apply plugin: 'java'
apply plugin: 'jetty'
repositories {
mavenCentral()
}
dependencies {
compile "javax.ws.rs:jsr311-api:1.1.1"
compile 'com.sun.jersey:jersey-bundle:1.19'
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>testPackage</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
我的 build.grade 需要以下内容:
jettyRun.contextPath = ''
正在尝试将 Jetty Gradle 插件添加到当前项目。我的 war 在 Tomcat 部署下运行良好,但 Jetty 似乎因 404 错误而崩溃——好像它没有正确读取 web.xml(已验证它在那里)。
localhost:8080/rest/test <- 适用于 Tomcat
localhost:8080/rest/test <- 404 当 运行 jettyRun(war) 在 Gradle
我的简化代码(Java)
package testPackage;
//includes...
@Path("test")
public class TestResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String testResponse() {
return "test";
}
}
build.grade
apply plugin: 'java'
apply plugin: 'jetty'
repositories {
mavenCentral()
}
dependencies {
compile "javax.ws.rs:jsr311-api:1.1.1"
compile 'com.sun.jersey:jersey-bundle:1.19'
}
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>testPackage</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Jersey</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
我的 build.grade 需要以下内容:
jettyRun.contextPath = ''