2012-09-06 2 views
0

스프링으로 구성된 웹 응용 프로그램으로 구동되는 비교적 간단한 주석을 실행하고 있습니다. Java 1.6, Tomcat 7을 사용하고 있고 pom.xml, 즉 jsp-api : 2.2, javax.servlet-api : 3.0.1에 적절한 종속성이 있다고 생각합니다. 내 webapp가 실행하는 동안 어떤 문제도없는 것처럼 보이지만 계속해서 아래 오류가 발생합니다. 나는이 오류에 대한 하나의 참조를 온라인에서 찾았고 @HandleTypes 오류를 없애고 내 응용 프로그램이 제대로 구성되지 못하게하는 web.xml 파일에 'metadata-complete = "true"를 추가 할 것을 제안했습니다.Spring, Tomcat @HandleTypes 주석 오류

모든 제안/도움을 주시면 대단히 감사하겠습니다. 감사합니다.

2012년 9월 5일 오후 1시 29분 52초 org.apache.catalina.startup.ContextConfig checkHandlesTypes
경고 : 클래스를로드 할 수 없습니다 [javax.servlet.jsp.el.ImplicitObjectELResolver $ ImplicitObjects]에 대해 확인 하나 이상의 ServletContentInitializers의 @HandlesTypes 주석.

java.lang.ClassNotFoundException가 : javax.servlet.jsp.el.ImplicitObjectELResolver $ ImplicitObjects org.apache.catalina.loader에서 org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1688) 에서 .WebappClassLoader.loadClass (WebappClassLoader.java:1533) at org.apache.catalina.startup.ContextConfig.checkHandlesTypes (ContextConfig.java:1988) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream (ContextConfig.java:1951)) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar (ContextConfig.java:1840) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl (ContextConfig.java:1808) at org.apache.catalina.startup.ContextConfig.processAnnotations (ContextConfig.java:1794) at org.apache.catalina.startup.ContextConfig. ContextConfig.webConfig (ContextConfig.java:1214) 에서. configureStart (ContextConfig.java:828) at org.apache.catalina.startup.ContextConfig.lifecycleEvent (ContextConfig.java:302) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5148) at org.apache.catalina.util.LifecycleBase. start (LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal (Con tainerBase.java:866) at org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:842) at org.apache.catalina.core.StandardHost.addChild (StandardHost.java:615) at org. apache.catalina.startup.HostConfig.deployWAR (HostConfig.java:958) at org.apache.catalina.startup.HostConfig $ DeployWar.run (HostConfig.java:1599) at java.util.concurrent.Executors $ RunnableAdapter. (Executors.java:441) at java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:303) at java.util.concurrent.FutureTask.run (FutureTask.java:138) at java. util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908) java.lang.Thread.run에서 (Thread.java:662)

+1

'jsp-api : 2.2' 및'javax.servlet-api : 3.0.1'에 ''이 있는지 확인하십시오. – axtavt

+0

그게 정확히 필요한 것입니다. 공식적으로 대답하고 싶습니다. 정확하다고 표시 할 것입니까? – Queso

+0

답변으로 게시 됨. – axtavt

답변

2

당신은해야 당신의 war 파일, 서블릿 API와 JSP의 API jar의를 포함하지 않는, 그렇지 않으면 당신은 까다로운 클래스 로딩 문제를 얻을 것이다 있는지 확인 .

그러나 여전히 컴파일 타임 종속성이 필요합니다. 이 경우 Maven은 범위 provided을 사용하여 이러한 종속성을 선언 할 수 있습니다.

jsp-api:2.2javax.servlet-api:3.0.1<scope>provided</scope>입니다.

+0

Maven 빌드가 아닌 경우 솔루션이 무엇입니까? –

관련 문제