2012-04-22 9 views
0

HelloWorld example for Jerseyを実行しようとしていますが、失敗しています。これが私が試したことです。Google App EngineとJerseyを使用したJavaメソッドへのURLのマッピング

私はセットアップを持っている私の私は、このようなweb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5"> 
    <servlet> 
     <servlet-name>server</servlet-name> 
     <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name> 
      <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value> 
     </init-param> 
     <init-param> 
      <param-name>com.sun.jersey.config.property.packages</param-name> 
      <param-value>com.service</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>server</servlet-name> 
     <url-pattern>/helloworld</url-pattern> 
    </servlet-mapping> 
</web-app> 

私はこのように私のサービスを設定している、

package com; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 

@Path("/helloworld") 
public class service { 
    @GET 
    @Produces("text/plain") 
    private String getString(){ 
     return "hello"; 
    } 
} 

私はセットアップを持っているこの

<?xml version="1.0" encoding="utf-8"?> 
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    <application>server</application> 
    <version>1</version> 
</appengine-web-app> 

ようappengine-web.xmlこれらのライブラリを使用して

asm-3.3.1.jar jersey-bundle-1.12.jar jersey-core-1.12.jar jersey-server-1.12.jar

ここhttp://screencast.com/t/oIYKMQw1x

問題のビデオの任意のアイデアは、私が間違ってやっているのですの?

ありがとうございます!

スタックトレース

2012年4月23日午前12時19分27秒AM com.sun.jersey.server.impl.application.RootResourceUriRules SEVERE :ResourceConfigのインスタンスは、任意のルートリソース クラスが含まれていません。 2012年4月23日12:19:27 AM com.google.appengine.tools.development.ApiProxyLocalImplログSEVERE: javax.servlet.ServletContextログ:利用不可 com.sun.jersey.api.container.ContainerException:ResourceConfig インスタンスにルートリソースクラスが含まれていません。 com.sun.jersey.server.impl.application.RootResourceUriRules。(RootResourceUriRules.java:99) でcom.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1308)で で com.sun.jersey.server.impl.application.WebApplicationImpl.access $ 700(WebApplicationImpl.java:171) ( )com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:777) com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) で com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:773) で com.sun.jersey.ser com.sun.jerseyでver.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:773) でcom.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:768) 。 はcom.sunで com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate(ServletContainer.java:318) でspi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 。 com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208) はcom.sunで でjersey.spi.container.servlet.WebComponent.load(WebComponent.java:607) 。 jersey.spi.container.servlet.ServletContainer.init(Se rvletContainer。Javaの:373) javax.servlet.GenericServlet.initで com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) (GenericServlet.java:212)で org.mortbayで org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycleで.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) でorg.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) .java:50) org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685で)org.mortbay.jetty.servlet.Context.startContext(Context.java:140) で におけるORG .mortbay.jetty.webapp.WebAppCont ext.startContext(WebAppContext.java:1250) でorg.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.javaで: 467) でorg.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) でorg.mortbay.componentで.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) com.google.appengine.toolsにorg.mortbay.component.AbstractLifeCycle.start com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:196)で(AbstractLifeCycle.java:50) com.google.appengine.tools.development.DevAppServerMainで.development.AbstractContainerService.startup com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146)で(AbstractContainerService.java:239) $ StartAction.apply(DevAppServerMain.java:189) at com.google.appengine.tools.util.Parser $ ParseResult.applyArgs(Parser.java:48) at com.google.appengine.tools。 development.DevAppServerMain。(DevAppServerMain.java:128) でcom.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:104)

+1

私はそこにいました - Restletはあまりにも複雑で不透明です。 RESTeasyまたはJerseyを使用することをお勧めします。 http://stackoverflow.com/questions/1710199/which-is-the-best-java-rest-api-restlet-or-jersey –

+0

@PeterKnegoありがとう、私はそのショットを与えます – sissonb

+0

@ PeterKnegoまだ運がありません。私はこの問題に関する多くの情報を追加しました。 – sissonb

答えて

0

だから私の問題は、私がcom.serviceにマッピングされたことでしたそれはクラスです。クラスを含むパッケージにマップする必要がありました。

関連する問題