2012-02-08 20 views
0

そこで、私はtomcat 7をローカルで実行したいと思っています。 私はプラグインとその依存関係をつかんで、ポームを更新しました。私のweb.xmlは次のようになりtomcat mavenプラグインをtomcat 7にアップグレード

[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) 

<?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> 

私がチェックし、再確認してきた私はmvn clean install tomcat7:runを実行したときに

<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> 

は、今では、次のエラーを吐き出し、その後を通じてチャンクターゲットディレクトリ上の事実の後の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 jarから来ています。誰でも私が何を試すことができるか知っている。私は困惑している。

+1

WEB-INF/libディレクトリにあるJARが表示されているのに驚いています。あなたの依存関係は正しいですか? –

+0

私はtomcat7-maven-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セクションで宣言してください。 ここにあるさまざまなポンサンプルをご覧ください:http://tomcat.apache.org/maven-plugin-2.0-beta-1/

関連する問題