本地环境和远程环境的maven自动部署到tomcat配置说明

来源:互联网 发布:js闭包写法和释放 编辑:程序博客网 时间:2024/04/29 03:17

本文就来介绍一个如何使用maven快速自动的部署项目到tomcat容器中的配置

简介:本地环境maven工程自动化部署到tomcat容器中,一共需要配置三个配置文件,一,eclipseservers下找到tomcat-users.xml;二,修改apache-maven-3.0.5\conf下面的setting.xml;三,配置maven项目的pom文件


详细操作:

一.eclipseservers下找到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.xmlURIEncoding可能默认是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] ------------------------------------------------------------------------


最终结果如下:


















1 0