Java ClassNotFoundException:com.allen_sauer.gwt.log.client.WrappedClientThrowable

Java ClassNotFoundException:com.allen_sauer.gwt.log.client.WrappedClientThrowable,java,tomcat,gwt,Java,Tomcat,Gwt,在tomcat 8.0.36中启动应用程序时,我得到com.allen_sauer.gwt.log.client.WrappedClientThrowable的类未找到异常。 使用的图书馆 - gwt-user-2.8 - gwt-servlet-2.7.0 - spring4gwt-0.0.1 - gwt-log-3.1.2 此类存在于gwt日志中,但存在于包com.allen_sauer.gwt.log.shared中。我的应用程序代码引用了正确的程序包,但我仍然遇到以下异常: at or

在tomcat 8.0.36中启动应用程序时,我得到com.allen_sauer.gwt.log.client.WrappedClientThrowable的类未找到异常。 使用的图书馆

- gwt-user-2.8
- gwt-servlet-2.7.0
- spring4gwt-0.0.1
- gwt-log-3.1.2
此类存在于gwt日志中,但存在于包com.allen_sauer.gwt.log.shared中。我的应用程序代码引用了正确的程序包,但我仍然遇到以下异常:

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: com/allen_sauer/gwt/log/client/WrappedClientThrowable
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
    at org.apache.catalina.startup.WebAnnotationSet.loadMethodsAnnotation(WebAnnotationSet.java:273)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:133)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:335)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:782)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:306)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5202)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: com.allen_sauer.gwt.log.client.WrappedClientThrowable
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    ... 24 more

不确定哪个库引用的是旧包。感谢您的帮助。提前感谢。

看起来您有一个不同版本的gwt用户和gwt servlet

如果您能发布完整的“mvn依赖关系:树”(或gradle等效物),那就太好了

编辑:

感觉您使用的日志库有些过时


尝试将这个家伙添加到您的依赖项中:
compile'com.allen sauer.gwt.log:gwt log:3.3.2

看起来您有一个不同版本的gwt用户和gwt servlet

如果您能发布完整的“mvn依赖关系:树”(或gradle等效物),那就太好了

编辑:

感觉您使用的日志库有些过时


尝试将这个家伙添加到您的依赖项中:
compile'com.allen sauer.gwt.log:gwt log:3.3.2

这个问题似乎是由于一些重复的编译类而引入的。我从另一个团队那里得到了这个应用程序,他们最近将它转换为gradle build。当我检查项目结构和gradle脚本时,我发现许多不一致之处。基本上,项目没有正确转换

在我正确转换后,这个错误就消失了


感谢您的见解,非常感谢

似乎这个问题是由于一些重复的编译类而引起的。我从另一个团队那里得到了这个应用程序,他们最近将它转换为gradle build。当我检查项目结构和gradle脚本时,我发现许多不一致之处。基本上,项目没有正确转换

在我正确转换后,这个错误就消失了


感谢您的见解,非常感谢

您是否清洁了
构建了
您的项目?是的。用gradle用clean选项构建了它,但没有成功。你有
clean
build
你的项目吗?我有。用gradle用clean选项构建它,但没有成功。我的gradle依赖树太大了,无法在这里发布。但是,我可以看到一些日志记录方法被添加到已编译的RemoteLoggerServlet类:
public void debug(String message,com.allen_sauer.gwt.log.client.WrappedClientThrowable ex){}
不确定gwt是如何添加这些方法我试图添加最新的
gwt log
依赖项,但这不起作用,因为在应用程序代码中,我们的自定义
RemoteLoggerServlet
扩展了
com.google.gwt.user.server.rpc.RemoteServiceServlet
,实现了
com.allen_sauer.gwt.log.client.RemoteLoggerService
,并覆盖了init方法。在最新版本的`gwt-log中,init方法被标记为final。下面是它继承的模块:
模块不相关,似乎问题出在交易的服务器端。也许你可以简单地将有问题的init方法中的逻辑移到一个constructorr中,然后完成它。但是,我可以看到一些日志记录方法被添加到已编译的RemoteLoggerServlet类:
public void debug(String message,com.allen_sauer.gwt.log.client.WrappedClientThrowable ex){}
不确定gwt是如何添加这些方法我试图添加最新的
gwt log
依赖项,但这不起作用,因为在应用程序代码中,我们的自定义
RemoteLoggerServlet
扩展了
com.google.gwt.user.server.rpc.RemoteServiceServlet
,实现了
com.allen_sauer.gwt.log.client.RemoteLoggerService
,并覆盖了init方法。在最新版本的`gwt-log中,init方法被标记为final。下面是它继承的模块:
模块不相关,似乎问题出在交易的服务器端。也许您可以简单地将有问题的init方法中的逻辑移到constructorr中,然后使用它。