2017-09-18 5 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을 상당)

편집 : 당신은 다소 오래된 로깅 라이브러리를 사용하는 것처럼

느낌. 의존성이 사람을 추가

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

시도 : compile 'com.allen-sauer.gwt.log:gwt-log:3.3.2

+0

내 gradley 종속 트리가 너무 커서 게시 할 수 없습니다. 그러나 컴파일 된 RemoteLoggerServlet 클래스에 몇 가지 로깅 메소드가 추가 된 것을 볼 수 있습니다 : 'public void debug (String message, com.allen_sauer.gwt.log.client.WrappedClientThrowable ex) {}' GWT의 추가 방법을 잘 모르겠습니다. 이 메소드들 – 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 <상속자 이름 = "com.google.gwt.inject.Inject"/> \t < + + \t \t ' – Divyant

0

이 문제 인해 일부 중복 컴파일 된 클래스에 도입 된 것 같습니다. 나는 최근에 그것을 gradle로 변환 한 다른 팀의 응용 프로그램을 가지고 있습니다. 프로젝트 구조와 그라데이션 스크립트를 점검했을 때 많은 불일치를 발견했습니다. 기본적으로 프로젝트는 올바르게 변환되지 않았습니다.

올바르게 변환 한 후에이 오류가 사라졌습니다.

통찰력을 주셔서 감사합니다. 정말로 고마워요.