2012-03-21 2 views
0

내 원격 서블릿에서 Guice를 사용하려고하지만이 성가신 오류가 발생했습니다.gwt guice 주입 원격 서블릿. 오류 404 찾을 수 없습니다.

프로젝트를 실행하기 전에 이미 오류가 있습니다.

WARNING 오류 시동 핸들러 java.lang.NoSuchMethodError : com.google.inject.Scopes.isSingleton (Lcom/주입/구글/바인딩)를 Z com.google.inject.servlet.ServletDefinition.init에서 (ServletDefinition.java:103) COM에서 com.google.inject.servlet.ManagedFilterPipeline.initPipeline (ManagedFilterPipeline.java:102) 에서 com.google.inject.servlet.ManagedServletPipeline.init (ManagedServletPipeline.java:82) 에서 . google.inject.servlet.GuiceFilter.init (GuiceFilter.java:172) at org.mortbay.jetty.servlet.FilterHolder.doStart (FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle. java : 50) 또는 g.mortbay.jetty.servlet.ServletHandler.initialize (ServletHandler.java:662) at org.mortbay.jetty.servlet.Context.startContext (Context.java:140) at org.mortbay.jetty.webapp.WebAppContext. startContext (WebAppContext.java:1250) at org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:517) at org.mortbay.jetty.webapp.WebAppContext.doStart (WebAppContext.java:467) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:130) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle. java : 50) at org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:130) at org.mortbay.jetty.Se rver.doStart (Server.java:224) at org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:50) at com.google.appengine.tools.development.JettyContainerService.startContainer (JettyContainerService.java:191) com.google.appengine.tools.development.DevAppServerImpl.start에서 com.google.appengine.tools.development.AbstractContainerService.startup (AbstractContainerService.java:239) (DevAppServerImpl.java:146) com.google에서 에서 . appengine.tools.development.gwt.AppEngineLauncher.start (AppEngineLauncher.java:97) (com.google.gwt.dev.DevMode.doStartUpServer (DevMode.java:509) , com.google.gwt.dev.DevModeBase). startUp (DevModeBase.java:1068) (com.google.gwt.dev.DevModeBase.run) (DevModeBase.java:811) com.google.gwt.dev.DevMode.main (DevMode.java:311)

프로젝트를 실행 한 후.

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> 
<title>Error 404 NOT_FOUND</title> 
</head> 
<body> 
<h2>HTTP ERROR: 404</h2> 
<p>Problem accessing /mercado/login. Reason: 
<pre> NOT_FOUND</pre></p> 
<hr /><i><small>Powered by Jetty://</small></i> 

404

다음은 내 코드입니다.

<listener> 
    <listener-class>ph.com.mercado.server.ioc.GuiceServletListener</listener-class> 
</listener> 
<filter> 
    <filter-name>guiceFilter</filter-name> 
    <filter-class>com.google.inject.servlet.GuiceFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>guiceFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 


public class GuiceServiceModule extends AbstractModule { 

    @Override 
    protected void configure() { 
     bind(LoginServiceImpl.class).in(Singleton.class); 


public class GuiceServletListener extends GuiceServletContextListener{ 

    @Override 
    public Injector getInjector() { 
     return Guice.createInjector(new GuiceServletModule(), new GuiceServiceModule()); 
    } 

public class GuiceServletModule extends ServletModule { 

    @Override 
    protected void configureServlets() { 
     serve("/mercado/login").with(LoginServiceImpl.class); 

@RemoteServiceRelativePath("login") 
public interface LoginService extends RemoteService { 
    public LoginInfo loginGoggle(String requestUri); 


public class LoginServiceImpl extends RemoteServiceServlet implements 
     LoginService { 

    @Inject 
    private UserDao userDao; 

    @Override 
    public LoginInfo loginGoggle(String requestUri) {} 

} 

무슨 문제가 될 것 같다? 고맙습니다.

답변

0

Scopes.java

isSingleton 방법은 (전류 3.0) 2.1에 추가 된 참조. 설치 확인 (아마도 guice 2.0 사용)

+0

gin 1.5와 guice 3.0을 사용하고 있습니다. aopalliance.jar, gin-1.5-post-gwt-2.2.jar, guice 3.0, guice -assistedinject-3.0.jar, guice-servlet-3.0.jar, javax.inject.jar. 저는 GAE 및 요청 라이브러리도 사용하고 있습니다. – madz

+0

첫 번째 줄 스택은'java.lang.NoSuchMethodError : com.google.inject.Scopes.isSingleton (Lcom/google/inject/Binding;)'메서드 isSingleton이 없습니다. 어쩌면 두 guice 구현 클래스 경로가 있습니까? –

관련 문제