maven自动部署测试Web应用
2016-02-10 20:54
375 查看
一。在maven中使用内嵌tomcat部署测试Web应用
只使用最简单的java web作为例子。
此时可以使用maven内嵌的tomcat,中间要用到tomcat-maven-plugin,这里不用设置plugin的repository,它会自动下载tomcat-maven-plugin和tomcat 。
只使用命令
mvn tomcat:run
就可以了。
如果这里我们使用命令
mvn tomcat:deploy
会出现can not invoke tomcat manager的错误。这是因为没有对tomcat manager的设置。
二。在maven中使用外部tomcat部署web应用
此时使用的tomcat为自己安装的,要对tomcat和maven都进行设置。
maven要想链接上tomcat,要有三个步骤:
一是设置tomcat的manager帐号,二是下载可以链接外部tomcat的plugin,三是配置maven setting.xml文件中的server为tomcat的manager。
注意:使用外部的tomcat,要使用最新版本的tomcat6(or7)-maven-plugin。
(1)设置tomcat 的manager帐号
在文件tomcat-path/conf/tomcat-user.xml中加入如下
(2)配置maven setting.xml
对个单个用户,配置的是~/.m2/setting.xml。
(3)下载可以链接外部 tomcat的plugin
在项目的pom.xml中加入plugin.
maven下载plugin和一般库的repo不同,接下来配置repo。
再启动外部的tomcat,最后可以使用命令
mvn tomcat7:deploy
来布署到外部的tomcat7中,在命令运行后,我们可以在tomcat的webapp目录下看到布署的项目的war文件和war文件被解压后的项目文件。
tomcat7-maven-plugin插件也支持undeploy命令。要注意的是,这里如果不先启动tomcat7,则不能正确布署。
此时如果使用命令
mvn tomcat7:run
显示用的tomcat是内嵌的,plugin是tomcat7-maven-plugin,说明上面的配置文件是只对tomcat:deploy起作用了,而对tomcat7:run起作用,查看官方文档,说明
tomcat7:run是使用的embeded tomcat。
maven相关文档
http://www.daniel-journey.com/archives/1130 https://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/plugin-info.html
补充
(1)可能要常常查看8080端口是否占用:
netstat -apn| grep 8080
如果是LISTEN,则是被占用,如果是TIME_WAIT,则没有占用。
(2)curl的使用,网络的测试
先要安装curl,这是一个利用URL语法在命令行下传输的工具。注意这里最后有"/"。
/
只使用最简单的java web作为例子。
此时可以使用maven内嵌的tomcat,中间要用到tomcat-maven-plugin,这里不用设置plugin的repository,它会自动下载tomcat-maven-plugin和tomcat 。
只使用命令
mvn tomcat:run
就可以了。
如果这里我们使用命令
mvn tomcat:deploy
会出现can not invoke tomcat manager的错误。这是因为没有对tomcat manager的设置。
二。在maven中使用外部tomcat部署web应用
此时使用的tomcat为自己安装的,要对tomcat和maven都进行设置。
maven要想链接上tomcat,要有三个步骤:
一是设置tomcat的manager帐号,二是下载可以链接外部tomcat的plugin,三是配置maven setting.xml文件中的server为tomcat的manager。
注意:使用外部的tomcat,要使用最新版本的tomcat6(or7)-maven-plugin。
(1)设置tomcat 的manager帐号
在文件tomcat-path/conf/tomcat-user.xml中加入如下
(2)配置maven setting.xml
对个单个用户,配置的是~/.m2/setting.xml。
(3)下载可以链接外部 tomcat的plugin
在项目的pom.xml中加入plugin.
maven下载plugin和一般库的repo不同,接下来配置repo。
<!----> <!--if no repository defined, there will be error:--> <!--No plugin found for prefix 'tomcat7' in the current project and in the plugin groups for ..--> <!--from the repository [local],central (https://repo.maven.apache.org.maven2--> <repositories> <repository> <id>people.apache.snapshots</id> <url>http://repository.apache.org/content/groups/snapshots-group</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>apache.snapshots</id> <name>Apache Snapshots</name> <url>http://repository.apache.org/content/groups/snapshots-groups</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
再启动外部的tomcat,最后可以使用命令
mvn tomcat7:deploy
来布署到外部的tomcat7中,在命令运行后,我们可以在tomcat的webapp目录下看到布署的项目的war文件和war文件被解压后的项目文件。
tomcat7-maven-plugin插件也支持undeploy命令。要注意的是,这里如果不先启动tomcat7,则不能正确布署。
此时如果使用命令
mvn tomcat7:run
显示用的tomcat是内嵌的,plugin是tomcat7-maven-plugin,说明上面的配置文件是只对tomcat:deploy起作用了,而对tomcat7:run起作用,查看官方文档,说明
tomcat7:run是使用的embeded tomcat。
maven相关文档
http://www.daniel-journey.com/archives/1130 https://tomcat.apache.org/maven-plugin-trunk/tomcat7-maven-plugin/plugin-info.html
补充
(1)可能要常常查看8080端口是否占用:
netstat -apn| grep 8080
如果是LISTEN,则是被占用,如果是TIME_WAIT,则没有占用。
(2)curl的使用,网络的测试
先要安装curl,这是一个利用URL语法在命令行下传输的工具。注意这里最后有"/"。
/
相关文章推荐
- RAD路线规划2016版
- 查看Oracle 数据库中的长事务
- win10输入法切换 只能输入英文
- Android开发中如何实现外部其他Activity类与指定fragment碎片的相互跳转
- XML基础(上)
- 前言
- 个人微信公众号,TEBS,欢迎扫码关注哦~
- leetcode 328 Odd Even Linked List(难易度:Easy)
- codevs 1018 [noip 2000 提高] 单词接龙
- Linux目录结构和常用命令
- 2016蓝桥杯假期任务之《Anagrams问题》
- 重设WebLogic AdminServer的密码
- 9、神经网络
- poi
- BZOJ_P1507[NOI2003]Editor(块状链表)
- bzoj2186: [Sdoi2008]沙拉公主的困惑
- 在Mac OSX系统的Docker机上启用Docker远程API功能
- nyoj 47
- hdoj 2068 RPG的错排
- Yii 玩转Databases