maven发布web工程到tomcat服务器上

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

发布步骤

在tomcat-user.xml文件中配置用户权限

在tomcat-users节点下,配置如下的角色和用户:

<role rolename="manager"/>  
<role rolename="manager-gui"/>  
<role rolename="manager-script" />  
<user username="xiaoyu" password="123456" roles="manager,manager-gui,manager-script"/> 

注:”manager-gui”与”manager-script”必须填写。

manager-gui:配置浏览器访问manager应用的权限
manager-script:配置manager上传war包达到部署的目的

配置pom.xml文件,添加插件

tomcat7-maven-plugin插件地址

<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
            <port>80</port>
            <path>/ssm</path>
            <uriEncoding>UTF-8</uriEncoding>
            <url>http://localhost/manager/text</url>
            <username>xiaoyu</username>
            <password>123456</password>
            <update>true</update>
        </configuration>
    </plugin>
</plugins>

在Web项目的pom.xml文件的节点中,添加tomcat7的maven插件

port            端口
path            发布路径
uriEncoding      URLUTF-8进行编码,这样就解决了中文参数乱码

启动服务器

先开启tomcat服务器,然后通过maven命令clean tomcat7:redeploy来发布工程,配置如下:

错误集锦

Cannot invoke Tomcat manager: Software caused connection abort: socket write error

这个错误可能是因为eclipse的tomcat配置没有导入正确的项目工程路径,打开servers的配置,配置如下:

原因:因为tomcat安装目录下面的webapps下有manager工程文件,如果tomcat是默认配置的话,可能会出现没有办法访问到tomcat自带的工程,从而导致无法正确发布到tomcat目录下