2017-09-18 8 views
1

Tomcat 8.0.36でアプリケーションを起動しているときに、com.allen_sauer.gwt.log.client.WrappedClientThrowableのクラスが見つかりませんでした。 ライブラリがClassNotFoundException: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 

古いパッケージを参照しているライブラリが不明です。どんな助けもありがとうございます。前もって感謝します。

+0

プロジェクトを「ビルド」しましたか? – pleft

+0

しました。クリーンなオプションを使用してgradleで構築しましたが、成功しませんでした。 – Divyant

答えて

0

gwt-userとgwt-servletが異なるバージョンのようです。

あなたは完全な「MVN依存関係:ツリー」を投稿することができればそれは素晴らしいことだ(またはのGradle同等)

EDIT:あなたはやや時代遅れのロギングライブラリを使用しているよう

が感じます。

https://github.com/fredsa/gwt-log/wiki/GettingStarted

あなたの依存関係にこの男を追加してみてください:compile 'com.allen-sauer.gwt.log:gwt-log:3.3.2

+0

私のgradle依存ツリーは大きすぎてここに投稿できません。しかし、コンパイルされたRemoteLoggerServletクラスにいくつかのロギングメソッドが追加されています。 'public void debugこれらのメソッド – Divyant

+0

最新の 'gwt-log'依存関係を追加しようとしましたが、アプリケーションコードでカスタム' RemoteLoggerServlet'が 'com.google.gwt.user.server.rpc.RemoteServiceServlet'を拡張して実装されているため動作しません'com.allen_sauer.gwt.log.client.RemoteLoggerService'を呼び出し、initメソッドをオーバーライドします。 initメソッドは 'gwt-logの最新バージョンではfinalとしてマークされています。 – Divyant

+0

以下は継承するモジュールです: ' \t \t ' – Divyant

0

この問題は何らかの重複コンパイルされたクラスに導入されたようです。私は最近、それをgradleビルドに変換した別のチームからアプリケーションを入手しました。プロジェクトの構造とスクリプトを確認したところ、多くの不一致が見つかりました。基本的にプロジェクトは正しく変換されませんでした。

正しく変換した後、このエラーはなくなりました。

洞察をいただきありがとうございます。本当にありがとうございます