У меня проблема при развертывании простого WebService с использованием RESTEasy на Jetty с maven.Когда я набираю mvn jetty: run, я получаю следующие ошибки:
2012-03-17 03:14:28.199:WARN::Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@2cd728{/DogsOnShows,/home/filip/jee/jeeWorkspace/DogsOnShows/src/main/webapp}
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.fd.dos.EchoService
at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:381)
at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:225)
at org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextInitialized(ResteasyBootstrap.java:28)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.plugin.AbstractJettyRunMojo.restartWebApp(AbstractJettyRunMojo.java:458)
at org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.filesChanged(AbstractJettyRunMojo.java:419)
at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
at org.mortbay.util.Scanner.scan(Scanner.java:280)
at org.mortbay.util.Scanner$1.run(Scanner.java:232)
at java.util.TimerThread.mainLoop(Timer.java:534)
at java.util.TimerThread.run(Timer.java:484)
На самом деле этот класс "EchoService" не компилируется или, по крайней мере, так кажется.Я не могу найти его в папке target / classes.Когда я нажимаю на адрес WebService в браузере, я получаю HTTP 503: SERVICE_UNAVAILABLE.Я использую RESTEasy 2.3.1.GA и Jetty 8.1
Это мой pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fd</groupId>
<artifactId>DogsOnShows</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>DogsOnShows Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<resteasy.version>2.3.1.GA</resteasy.version>
</properties>
<repositories>
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>${resteasy.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.8.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jettison-provider</artifactId>
<version>${resteasy.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>DogsOnShows</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<scanTargets>
</scanTargets>
</configuration>
</plugin>
</plugins>
</build>
и web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="WebApp_ID"
version="2.5">
<display-name>Archetype Created Web Application</display-name>
<display-name>Resteasy Application</display-name>
<context-param>
<param-name>resteasy.resources</param-name>
<param-value>com.fd.dos.EchoService</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Редактировать:
com.fd.dos.EchoService class:
@Path("/")
public class EchoService {
@GET
@Path("/echo/{message}")
@Produces({MediaType.APPLICATION_JSON, "application/*+json"})
public Response echoService(@PathParam("message") String message) {
return Response.status(200).entity(message).build();
}
}
Я буду очень благодарен за любую подсказку.Заранее спасибо.