本文就来介绍一个如何使用maven快速自动的部署项目到tomcat容器中的配置
简介:本地环境maven工程自动化部署到tomcat容器中,一共需要配置三个配置文件,一,在eclipse的servers下找到tomcat-users.xml;二,修改apache-maven-3.0.5\conf下面的setting.xml;三,配置maven项目的pom文件。
详细操作:
一.在eclipse的servers下找到tomcat-users.xml
如图所示:
然后对其进行编辑,结果如下:
1.<tomcat-users>
2. <role rolename="tomcat" />
3. <role rolename="manager" />
4. <role rolename="admin" />
5. <role rolename="manager-gui" />
6. <role rolename="manager-script" />
7. <user username="admin" password="admin" roles="tomcat,manager,admin,manager-gui,manager-script" />
8.</tomcat-users>
最终修改成如下图所示:
此处注意一下,为了防止get请求中文乱码,建议修改一下server.xml,URIEncoding可能默认是ISO-8859-1,要改成URIEncoding="UTF-8":
1.<Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1"
2.redirectPort="8443" URIEncoding="UTF-8"/>
二.修改apache-maven-3.0.5\conf下面的setting.xml
如图所示:
然后对其进行编辑,结果如下:
1.<servers>
2.<server>
3.<id>tomcat</id>
4.<username>admin</username>
5.<password>admin</password>
6.</server>
7.</servers>
最终修改成如下图所示:
三.前两步已经可以本地maven项目自动部署,eclipse会把最新的class文件发布到classes文件夹下,满足本地资源运行,如果需要本地打war包需要配置maven项目的pom文件
如图所示:
然后对其进行编辑,结果如下:
<!-- Tomcat插件自动部署配置 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- Tomcat6将text替换为html-->
<url>http://localhost:8080/manager/text</url>
<!-- 以下三项与Maven的Setting文件一致 -->
<server>tomcat</server>
<username>admin</username>
<password>admin</password>
</configuration>
</plugin>
最终修改成如下图所示:
给tomcat下打war包运行或者需要打war包的,需要有以下配置。
配置Goals为:tomcat7:redeploy
如下图所示,找到maven项目的pom文件或项目主目录:
在项目上右击,选择Run As->Maven Build,在弹出的对话框中输入Goals的值为tomcat7:redeploy,最后单击Run按钮,开始编译发布。这一步在配置完成后,再次单击Maven Build会直接编译发布,挂差控制台输出信息,输出形如下方的内容即为发布成功:
[INFO] tomcatManager status code:200, ReasonPhrase:OK
[INFO] OK - Deployed application at context path /sdk-portal
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:00 min
[INFO] Finished at: 2017-03-10T11:17:06+08:00
[INFO] Final Memory: 23M/252M
[INFO] ------------------------------------------------------------------------
最终结果如下:
到这里本地环境自动化部署的配置已经完成并且可以本地打war包,update一下工程,update一下项目,clean一下tomcat下的工程,publish一下tomcat下的工程,自动化部署就可以使用了。
如果打war包不成功,需要看看eclipse中的tomcat的参数配置,要参考如下配置:
特别说明,远程maven自动化部署到tomcat容器中,前两步跟本地环境自动化部署是一样的,第三步略有不同。
远程自动化部署修改:打开maven项目的pom.xml文件,向其中添加如下配置
<!-- Tomcat插件自动部署配置 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- Tomcat6将text替换为html-->
<url>http://192.168.1.39:8010/manager/text</url>
<!-- 以下三项与Maven的Setting文件一致 -->
<server>tomcat</server>
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
在这段配置中:
url为远程Tomcat服务器地址,理论上只要更换IP地址和端口就可以了,server为maven配置文件中位置的服务器信息的id,path为应用最后发布的上下文路径。
远程部署成功日志如下:
Uploaded: http://192.168.1.39:8010/manager/text/deploy?path=%2Fsdk-portal&update=true (42382 KB at 9562.6 KB/sec)
[INFO] tomcatManager status code:200, ReasonPhrase:OK
[INFO] OK - Deployed application at context path /sdk-portal
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.771 s
[INFO] Finished at: 2017-03-10T12:01:27+08:00
[INFO] Final Memory: 20M/252M
[INFO] ------------------------------------------------------------------------
最终结果如下: