【问题标题】:Mapping URL to Java methods using Google App Engine and Jersey使用 Google App Engine 和 Jersey 将 URL 映射到 Java 方法
【发布时间】:2012-05-03 04:53:34
【问题描述】:

我正在尝试运行HelloWorld example for Jersey,但失败了。这是我尝试过的。

我已经像这样设置了我的appengine-web.xml

<?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>

我已经像这样设置了我的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";
    }
}

我正在使用这些库

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 com.sun.jersey.server.impl.application.RootResourceUriRules 严重:ResourceConfig 实例不包含任何根资源 类。 2012 年 4 月 23 日 12:19:27 com.google.appengine.tools.development.ApiProxyLocalImpl 日志严重: javax.servlet.ServletContext 日志:不可用 com.sun.jersey.api.container.ContainerException:资源配置 instance 不包含任何根资源类。在 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.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:773) 在 com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 在 com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:773) 在 com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:768) 在 com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 在 com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318) 在 com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:607) 在 com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208) 在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 在 javax.servlet.GenericServlet.init(GenericServlet.java:212) 在 org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) 在 org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 在 org.mortbay.jetty.Server.doStart(Server.java:224) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:196) 在 com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239) 在 com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146) 在 com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:189) 在 com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48) 在 com.google.appengine.tools.development.DevAppServerMain.(DevAppServerMain.java:128) 在 com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:104)

【问题讨论】:

标签: java google-app-engine jersey restlet


【解决方案1】:

所以我的问题是我正在映射到 com.service 这是类。我需要映射到包含我的类的包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2012-07-26
    相关资源
    最近更新 更多