2015-04-05 3 views
1

Попытка добавить плагин Jetty Gradle к текущему проекту. Моя война отлично работает с развертыванием Tomcat, но Jetty, похоже, взорвется 404 ошибками - как будто он не правильно читает web.xml (подтвердил его там).Jersey + Jetty + Gradle 404 Ошибка - но работает в Tomcat

локальный: 8080/отдых/тест < - работает в Tomcat

локальный: 8080/отдых/тест < - 404 при запуске jettyRun (войны) в 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> 
+0

Да, работает в Tomcat - изменить его, что для упрощения. Обновлен образец, чтобы указать на пакет напрямую, но также не работает. – vicsz

ответ

1

Следующая была необходима в моей build.grade:

jettyRun.contextPath = '' 
Смежные вопросы