Skip to content

Maven实现直接部署Web项目到Tomcat7或Tomcat8 #148

Open
@hehongwei44

Description

@hehongwei44
Owner

如题,自动把项目部署到Web服务器,步骤如下。

1. 设置Tomcat权限

Tomcat7+的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户。

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

2. 配置Maven中setting.xml文件

Maven的Server的配置:在Maven的安装路径找到conf目录下的setting.xml文件,在节点中添加tomcat7下配置的用户信息(id可以任意填写,但username和password必须和步骤1一致):

<server>
    <id>tomcat7</id>
    <username>admin</username>
    <password>admin</password>
</server>

需要注意的地方:

  1. setting.xml文件的存放位置在:C:\Users[用户名].m2目录下(window平台)。
  2. 如果该配置文件不存在,则需要创建该文件夹。通过下载官方的Maven安装包中可以在conf目录中找到该文件,复制到指定文件夹。

配置pom.xml文件

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

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url><!-- 注意tomcat7此处的url,不能随意修改 -->
        <server>tomcat7</server> <!-- 此处的名字必须和setting.xml中配置的ID一致,不能随意修改-->
        <path>/Demo</path> <!-- 此处的名字是项目发布的工程名-->
    </configuration>
</plugin>

部署项目

最后,只需要mvn tomcat7:deploy就可以了(必须事先启动tomcat服务器),最后提示如下

image

初次部署用的是tomcat7:deploy命令,重新部署可以用tomcat7:redeploy命令(推荐统一用这个),Tomcat Maven插件支持的命令包括:run、shutdown、run-war-only、exec-war、standalone-war-only、deploy、standalone-war、undeploy、run-war、redeploy等。

到Tomcat目录webapp下可以看到war包和工程名字,说明以部署上。

Activity

hehongwei44

hehongwei44 commented on Nov 8, 2016

@hehongwei44
OwnerAuthor

完整的pom.xml配置文件如下:

pom.zip

hehongwei44

hehongwei44 commented on Nov 8, 2016

@hehongwei44
OwnerAuthor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @hehongwei44

        Issue actions

          Maven实现直接部署Web项目到Tomcat7或Tomcat8 · Issue #148 · hehongwei44/my-blog