代码之家  ›  专栏  ›  技术社区  ›  Asa Ayers

如何让eclipse/jetty/gwt2.0找到org/apache/commons/logging/log

  •  1
  • Asa Ayers  · 技术社区  · 15 年前

    我以 http://blog.hivedevelopment.co.uk/2009/08/google-web-toolkit-gwt-mvp-example.html 并构建了GWT应用程序的示例,但后来我想构建其他东西,我计划使用Google Appengine。我启动了一个新的gwt2.0+appengine项目,并按照相同的设置添加了相同的libararies,从示例项目复制和修改了我的大部分代码。我的代码会编译,但现在每当我尝试调试我的应用程序时,我都会得到这个异常,但没有任何效果。每次启动服务时,此异常会重复两次。我以为我可能会丢失org.apache.commons.logging.log,但当我ctrl+单击该路径时,它是GWT SDK中gwt-dev.jar的一部分。我需要做什么来解决这个问题?

    2010年1月26日5:23:13 am com.google.apphosting.utils.jetty.jettylogger warn 警告:失败的COM。谷歌。ApPysTest.UTIL.JETTY。DeavabyWebAppEngult:460AB1B4{//home /ASA/项目/ Java /杂货/购物/战争} java.lang.noclassdefounderror:org/apache/commons/logging/log 在COM.asaEsServ.Serv.Guice .Server Mydio.CuffuleDeaServer(Server Mydio.java:20) 在NET.CuuthWudi.GWT.Trime.Server .Guice .ActActualLeMult.配置(ActhOnWorkLeMeult.java:38) 在COM.谷歌.Intudio.ActudioMulk.配置(ActudioMeavult.java:59) 在谷歌上。 在COM.谷歌.Intudio.SPI.Engult.GETEngices(元素.java:101) 在谷歌上。 在谷歌上。 在谷歌.Cubj.Guice .CurdieCuffisher(Guice,Java:92) 在谷歌.Cubj.Guice .CurdieCuffisher(Guice,Java:69) 在谷歌.Cubj.Guice .CurdieCuffisher(Guice,Java:59) 在COM.asaEsServ.Serg.Guice .MyGueCeServLeTunFig.GeCujter(MyGueSeServelCopigg.java:11) 在COM.谷歌.Intual.Servlet .GueCeServlet CutExtListNist.CuExt初始化(GueSeServlet CordExtListNe.java:43) 在Org.MyBay.jyt.Helt.RealthHuntList.StistFort(上下文thaldL.java:530) 在Org.MyBay.jyt.servlet .Curror.StistCort(上下文.java:135) 在Org.MyBay.jyt.WebApp.WebAppEngory.StistCort(WebAppEngor.java:1218) 在Org.MyBay.JeTy.Helt.RealthTHANDEL.DOSTART(CurrthHythor.java:500) 在Org.MyBay.jyt.WebApp.WebAppTrime.DoScript(WebAppEngor.java:448) 在Org.MyBase.组件.生命周期.开始(抽象生命周期. Java:40) 在Org.MyBay.JeTy.Helper-Hoall Servalper-DoSt着手(HooLrrReAPPr.java:117) 在Org.MyBase.组件.生命周期.开始(抽象生命周期. Java:40) 在Org.MyBay.JeTy.Helper-Hoall Servalper-DoSt着手(HooLrrReAPPr.java:117) 在Org.MyBay.JETTy.Server上. doScript(Server . Java:217) 在Org.MyBase.组件.生命周期.开始(抽象生命周期. Java:40) 在COM.谷歌. AppEngine . Tooal.Dealth.CytBythService Service .StestCype(JeTyJavaService Service . Java:188) 在谷歌上。AppEngine。 在COM.谷歌. AppEngine工具. DealPoSerServer IMP.启动(DeavaServer IMPL . Java:217) 在COM.谷歌. AppEngine . Too.GWT.AppEngEnLaunChel.St启动(AppEnnEnLaunChel.java:86) 在谷歌.GWT.DEV.DEVMOD.doStutupServer(DEVMOD.java:377) 在谷歌。GWT.DEV.DEVMODBASE.Studio(DeMoDeBase.java:938) 在谷歌。GWT.DEV.DEVMODBASE.Run(DeMoDeBase.java:690) 在谷歌。GWT.DEV.DEVMOD.MULL(DEVMOD.java:251) 原因:java.lang.ClassNotFoundException:org.apache.commons.logging.log 在Java.NET.URLCaseLoad中运行1(运行URLCaseLoad .java:200) 在Java.Security .Access控制器上。 在Java.NET.URLCaseLooper-FordCube(URLCaseLooul.java:188) Java.Lang.CultLooul.loadClass(CultLooul.java:307) 在COM.谷歌.AppEngine中.Tooal.DealDead AppCaseLoad .loadClass(IsDead AppCaseLooul.java:151) Java.Lang.CultLooul.loadClass(CultLooul.java:252) 在Java.Lang.CultLooul.LoopCype内部(CultLooul.java:320) …31更多

    2 回复  |  直到 12 年前
        1
  •  1
  •   John    15 年前

    似乎Guice使用 commons-logging . 本教程介绍如何在war/web-inf/bin中放置一整串jar。您需要从commons日志站点下载zip文件,打开它,找到commons-logging-1.1.1.jar,并将其放到war/web-inf/lib中。

    公共日志记录会发现类路径中有log4j,并自动使用它。

        2
  •  0
  •   Dhanji R Prasanna    15 年前

    Guice不使用公共日志记录。也许您的另一个库使用它。Guice只依赖于核心JDK(5.0)。