私のリモートサーブレットでGuiceを使用したいのですが、この迷惑なエラーが発生しました。gwt guice注入リモートサーブレット。エラー404が見つかりません
プロジェクトを実行する前にエラーが発生しています。
WARNING:エラーハンドラ java.lang.NoSuchMethodErrorの出発:com.google.inject.Scopes.isSingleton(LCOM /グーグル/結合/注入;)com.google.inject.servlet.ServletDefinition.initにおけるZ ( ServletDefinition.java:103) com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82) (com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102) at com) (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 raver.doStart(Server.java:224) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:191) at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239) at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:146) at 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>
私のコードです。
<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) {}
}
は、何が問題のようですか?ありがとうございました。
3.0 は私のビルド・パスに含まれているaopalliance.jar、GIN-1.5-ポストGWT-2.2.jar、Guiceの3.0、Guiceの(おそらくあなたは、Guiceの2.0を使用します) -assistedinject-3.0.jar、guice-servlet-3.0。jar、javax.inject.jar 私はGAEと要求ライブラリも使用しています。 – madz
最初の行スタックは、 'java.lang.NoSuchMethodError:com.google.inject.Scopes.isSingleton(Lcom/google/inject/Binding;)'メソッドisSingletonがありません。多分あなたは2つのguiceの実装クラスパスがありますか? –