2012-02-08 4 views
0

그래서 tomcat 7을 로컬에서 실행하기를 원합니다. 그래서 나는 플러그인과 그것의 의존성을 움켜 잡고 pom을 업데이트했습니다. 내가 mvn clean install tomcat7:run을 실행할 때tomcat maven plugin을 tomcat 7로 업그레이드

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-beta-1</version> 
    <configuration> 
     <path>/mapp</path> 
    </configuration> 
</plugin> 
<dependency> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-beta-1</version> 
    <type>maven-plugin</type> 
</dependency> 

는 이제 다음을 통해 청크 다음과 같은 오류 밖으로 뱉어 : 나는 확인하고 재확인 한

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="mapp" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <display-name>parish</display-name> 
    <filter> 
     <filter-name>struts2</filter-name> 
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>struts2</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath:applicationContext.xml</param-value> 
    </context-param> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
</web-app> 

:

[INFO] Running war on http://localhost:8080/mapp 
[INFO] Creating Tomcat server configuration at c:\dev\bing-branch\mapp\target\tomcat 
Feb 8, 2012 4:34:34 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Feb 8, 2012 4:34:34 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Tomcat 
Feb 8, 2012 4:34:34 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.25 
Feb 8, 2012 4:34:35 PM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment 
INFO: No global web.xml found 
Feb 8, 2012 4:34:35 PM org.apache.tomcat.util.digester.Digester endElement` 

SEVERE: End event threw exception 
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter 
     at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:848) 
     at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201) 
     at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1051) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) 
     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
     at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) 
     at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1765) 
     at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1171) 
     at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825) 
     at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300) 
     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:5161) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558) 
     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) 
     at java.lang.Thread.run(Thread.java:619) 
Feb 8, 2012 4:34:35 PM org.apache.catalina.startup.ContextConfig parseWebXml 
SEVERE: Parse error in application web.xml file at jndi:/localhost/mapp/WEB-INF/web.xml 
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter 
     at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2687) 
     at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2719) 
     at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1054) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) 
     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) 
     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) 
     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) 
     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
     at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537) 
     at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1765) 
     at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1171) 
     at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825) 
     at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300) 
     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:5161) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568) 
     at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558) 
     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) 
     at java.lang.Thread.run(Thread.java:619) 

Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter 
     at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:848) 
     at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201) 
     at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1051) 
     ... 26 more 
Feb 8, 2012 4:34:35 PM org.apache.catalina.startup.ContextConfig parseWebXml 
SEVERE: Occurred at line 11 column 14 
Feb 8, 2012 4:34:35 PM org.apache.catalina.startup.ContextConfig configureStart 
SEVERE: Marking this application unavailable due to previous error(s) 

내 web.xml 파일은 다음과 같습니다를 타겟 디렉토리에서 사실 이후에 jar 검색을 포함하는 종속성과 유일한 WebXml 클래스는 mapp-0.1/WEB-INF/lib/tomcat-catalina-7.0.25.jar./mapp-0.1/WEB-INF/lib/tomcat-catalina-7.0.25.jar 항아리에서옵니다. 누구든지 내가 시도 할 수있는 것을 안다. 나는 혼란 스럽다.

+1

WEB-INF/lib 디렉토리에있는 JAR 파일을 보니 놀랍습니다. 의존성이 맞습니까? –

+0

나는 tomcat7-maven-plugin plugin 때문에 lib 폴더에 있다고 가정합니다. –

+0

그래서 JAR에 대한 명시 적 종속성이 없습니까? –

답변

2

제공되는 스코프를 추가하는 pom.xml 종속성이 변경되어 문제가 해결되었습니다.

<dependency> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0-beta-1</version> 
    <type>maven-plugin</type> 
    <scope>provided</scope> 
</dependency> 
3

당신은 의존성으로 플러그인을 추가 할 필요가 없습니다 !! 이것은 플러그인이므로 pluginManagement 또는 plugins 섹션에서 선언하십시오. 여기에서 볼 수있는 다양한 pom 샘플을보십시오 : http://tomcat.apache.org/maven-plugin-2.0-beta-1/.

관련 문제