zoukankan      html  css  js  c++  java
  • Maven使用tomcat7-maven-plugin

    原文地址:https://www.cnblogs.com/mozisss/p/10233366.html

    功能:

    (使用maven中的tomcat插件,就可以将tomcat集成到项目中,效果就是:在不同平台中无需配置tomcat就可以直接运行web)

    地址:

    tomcat官网maven插件:http://tomcat.apache.org/maven-plugin.html

    使用方法:

    (1)在maven项目的pom.xml中添加插件依赖:

     <pluginManagement>
         <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                  <path>/mozi</path>
                  <port>8080</port>
                  <uriEncoding>UTF-8</uriEncoding>
                </configuration>
             </plugin>
          </plugins>
        </pluginManagement>
     (解释:
    
          path: 当前web项目的url访问入口,即http://localhost:8080/mozi/ ; 若设置为<path>/</path> 则访问url为:http://localhost:8080/
    
          port:访问的端口号
    
         uriEncoding: uri的访问编码)
    
     
    
      (2)等待插件加载完后,在就可以使用maven命令运行tomcat7了,这里用的是idea:

    (maven命令:mvn tomcat7:run )

      (3)启动结果:

     (4)测试: 在浏览器中输入http://localhost:8080/mozi , 将访问到项目mozi的index.jsp

     tomcat7-maven-plugin的其他命令:

    tomcat7:run         --启动嵌入式tomcat ,并运行当前项目
    tomcat7:deploy      --部署一个web war包
    tomcat7:reload      --重新加载web war包
    tomcat7:start       --启动tomcat
    tomcat7:stop        --停止tomcat
    tomcat7:undeploy    --停止一个war包

    遇到过的坑:

       (1)启动tomcat7时异常:java.lang.ClassNotFoundException: org.apache.catalina.deploy.ServletDef

                 在pom.xml文件中,添加tomcat7-maven-plugin后不要添加tomcat7的其他依赖,如果有就去掉。如下面是tomcat7的包依赖,即<dependency>和<plugin>选其一:

    <dependency>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
    </dependency>

      (否则,在启动时tomcat会在tomcat/lib 下加载包,但在嵌入式tomcat目录中没有lib)

      

       (2)启动时:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter

                   在项目目录下 target/tomcat/conf/context.xml 添加:

    <Context> <Loader delegate="true" /></Context>

      (关于tomcat的delegate机制,,,)

    注:由于配置的环境、依赖包版本的不同,以上介绍的方法可能有所不同) 

  • 相关阅读:
    NOIP前的一些计划
    回文自动机[学习笔记]
    Luogu-3705 [SDOI2017]新生舞会
    01分数规划[学习笔记]
    jvm参数总结
    读懂jstack
    PRODUCER配置加载
    为什么WAIT必须在同步块中
    NIO学习笔记
    dp求最长递增子序列并输出
  • 原文地址:https://www.cnblogs.com/dyh004/p/11578954.html
Copyright © 2011-2022 走看看