hehongwei44 / my-blog

我的博客
MIT License
137 stars 12 forks source link

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

Open hehongwei44 opened 8 years ago

hehongwei44 commented 8 years ago

如题,自动把项目部署到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包和工程名字,说明以部署上。

hehongwei44 commented 8 years ago

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

pom.zip

hehongwei44 commented 8 years ago

相关链接

http://www.tuicool.com/articles/aM3aEf http://www.itnose.net/detail/6102822.html