写篇博文记录下自己实现maven自动化部署到服务器的心得

来源:互联网 发布:php和java的混合编程 编辑:程序博客网 时间:2024/06/03 16:58

第一次写博客,心情激动,在公司加班时心血来潮,学习喜爱maven自动化部署.


一.首先应该明确tomcat 权限分配是否完成.


<tomcat-users version="1.0" xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"><role rolename="tomcat"/><role rolename="manager"/><role rolename="manager-gui"/><role rolename="manager-script" /><role rolename="admin-gui"/><role rolename="manager-jmx"/><role rolename="manager-status"/><user username="admin" password="admin" roles="tomcat,manager,manager-script,admin-gui,manager-gui,manager-status,manager-jmx" /><user username="tomcat" password="tomcat" roles="manager-gui" /></tomcat-users>



二.检查并修改tomcat/webapps/manager 和 host-manager 目录的 META-INF 目录下 的 context.xml :


<Context antiResourceLocking="false" privileged="true" > <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --></Context>


要么将value节点注释掉,要么自定义可访问ip  , 具体 匹配正则可以百度.


三.找到安装好的maven路径下的conf/settings.xml中添加:


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




用户名密码是你自己在第一步中权限分配时设置的..


四.既然是maven自动化部署,,当然少不了maven项目啦.  新建一个maven项目(怎么见maven项目自行百度) .在pom.xml中添加


<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><url>http://127.0.0.1:8080/manager/text</url><server>tomcat7</server><username>admin</username><password>admin</password><path>/ROOT</path><charset>utf8</charset><update>true</update></configuration></plugin></plugins></build>



注意 server 要与 settings.xml中server一致.

在添加相关依赖:

   <dependency>            <groupId>org.apache.tomcat</groupId>            <artifactId>tomcat-servlet-api</artifactId>            <version>8.5.4</version>        </dependency>

我用的是8.5版本的tomcat ;


五.执行

在项目根目录下执行

//第一次mvn tomcat7:deploy//之后mvn tomcat7:redeploy


//这里我要求先重新打包,并跳过测试,再部署//第一次mvn package  -Pdevelop -Dmaven.skip.test=true tomcat7:deploy//之后mvn package  -Pdevelop -Dmaven.skip.test=true tomcat7:redeploy

我用的是eclipse,或者右键项目,选择run ->maven bulid... ,Goals里执行,不要带mvn


注意事项:

1.需要将远程机器的tomcat先开启,这里是热部署

2.可以在本地先调试好,再到远程去执行

3.在本地测试时,用eclipse做测试修改tomcat-user.xml在eclipse上的server里修改,不然会覆盖掉tomcat目录下的tomcat-user.xml配置

 

参考链接:

1.http://www.cnblogs.com/amosli/p/6086515.html


0 0
原创粉丝点击