1
尝试将Jetty Gradle插件添加到当前项目。我的战争在Tomcat部署中可以正常工作,但是Jetty似乎因404错误而崩溃 - 就好像它没有正确读取web.xml(验证了它的存在)。Jersey + Jetty + Gradle 404错误 - 但在Tomcat中运行
本地主机:8080/REST /测试< - 工程在Tomcat中
本地主机:8080/REST /测试< - 404在摇篮运行jettyRun(战争)时
我的简化代码(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>
是的,作品在Tomcat的 - 它改变为用于简化。更新了示例以直接指向包,但也不起作用。 – vicsz 2015-04-05 14:55:29