Как мне получить Eclipse / Jetty / GWT2.0 для поиска org / apache / commons / logging / Log - PullRequest
2 голосов
/ 26 января 2010

Я последовал примеру в http://blog.hivedevelopment.co.uk/2009/08/google-web-toolkit-gwt-mvp-example.html и создал пример приложения GWT, но затем я хотел создать что-то еще, и я планирую использовать Google AppEngine. Я запустил новый проект GWT2.0 + AppEngine и следовал той же схеме добавления тех же библиотек, скопировал и изменил большую часть моего кода из примера проекта. Мой код компилируется, но теперь каждый раз, когда я пытаюсь отладить свое приложение, я получаю это исключение и ничего не работает. Это исключение повторяется еще два раза каждый раз, когда я запускаю службу. Я думал, что мне может не хватать org.apache.commons.logging.Log, но когда я нажимаю Ctrl + щелчок по этому пути, это часть gwt-dev.jar в GWT SDK. Что мне нужно сделать, чтобы это исправить?

26 января 2010 г. 5:23:13 com.google.apphosting.utils.jetty.JettyLogger warn ВНИМАНИЕ: не удалось com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@460ab1b4 {/, / дома / ас / Проекты / Java / Продовольственные товары / Шоппинг / война} java.lang.NoClassDefFoundError: org / apache / commons / logging / Log в com.asaayers.server.guice.ServerModule.configureHandlers (ServerModule.java:20) в net.customware.gwt.dispatch.server.guice.ActionHandlerModule.configure (ActionHandlerModule.java:38) на com.google.inject.AbstractModule.configure (AbstractModule.java:59) на com.google.inject.spi.Elements $ RecordingBinder.install (Elements.java:223) на com.google.inject.spi.Elements.getElements (Elements.java:101) на com.google.inject.InjectorShell $ Builder.build (InjectorShell.java:135) на com.google.inject.InjectorBuilder.build (InjectorBuilder.java:102) на com.google.inject.Guice.createInjector (Guice.java:92) на com.google.inject.Guice.createInjector (Guice.java:69) на com.google.inject.Guice.createInjector (Guice.java:59) на com.asaayers.server.guice.MyGuiceServletConfig.getInjector (MyGuiceServletConfig.java:11) на com.google.inject.servlet.GuiceServletContextListener.contextInitialized (GuiceServletContextListener.java:43) на org.mortbay.jetty.handler.ContextHandler.startContext (ContextHandler.java:530) на org.mortbay.jetty.servlet.Context.startContext (Context.java:135) на org.mortbay.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1218) на org.mortbay.jetty.handler.ContextHandler.doStart (ContextHandler.java:500) на org.mortbay.jetty.webapp.WebAppContext.doStart (WebAppContext.java:448) на org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:40) на org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:117) на org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:40) на org.mortbay.jetty.handler.HandlerWrapper.doStart (HandlerWrapper.java:117) на org.mortbay.jetty.Server.doStart (Server.java:217) на org.mortbay.component.AbstractLifeCycle.start (AbstractLifeCycle.java:40) на com.google.appengine.tools.development.JettyContainerService.startContainer (JettyContainerService.java:188) на com.google.appengine.tools.development.AbstractContainerService.startup (AbstractContainerService.java:120) на com.google.appengine.tools.development.DevAppServerImpl.start (DevAppServerImpl.java:217) на com.google.appengine.tools.development.gwt.AppEngineLauncher.start (AppEngineLauncher.java:86) на com.google.gwt.dev.DevMode.doStartUpServer (DevMode.java:377) на com.google.gwt.dev.DevModeBase.startUp (DevModeBase.java:938) на com.google.gwt.dev.DevModeBase.run (DevModeBase.java:690) на com.google.gwt.dev.DevMode.main (DevMode.java:251) Вызывается: java.lang.ClassNotFoundException: org.apache.commons.logging.Log на java.net.URLClassLoader $ 1.run (URLClassLoader.java:200) at java.security.AccessController.doPrivileged (собственный метод) на java.net.URLClassLoader.findClass (URLClassLoader.java:188) в java.lang.ClassLoader.loadClass (ClassLoader.java:307) на com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass (IsolatedAppClassLoader.java:151)в java.lang.ClassLoader.loadClass (ClassLoader.java:252) в java.lang.ClassLoader.loadClassInternal (ClassLoader.java:320) ... еще 31

Ответы [ 2 ]

2 голосов
/ 26 января 2010

Кажется, что Guice использует commons-logging . В руководстве рассказывается, как поставить целую кучу банок на войну / WEB-INF / bin. Вам нужно скачать zip-файл с сайта регистрации общих ресурсов, открыть его и найти файл commons-logging-1.1.1.jar и поместить его в war / WEB-INF / lib.

Commons-logging обнаружит, что у вас есть log4j в вашем пути к классам, и автоматически использует его.

0 голосов
/ 26 января 2010

Guice НЕ использует Commons-Logging. Возможно, одна из ваших других библиотек использует его. Guice зависит только от ядра JDK (5.0).

...