首页 > Web开发 > 详细

maven自动部署测试Web应用

时间:2016-02-10 21:01:06      阅读:591      评论:0      收藏:0      [点我收藏+]

一。在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。

<!---->
  <!--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>

 最后可以使用命令

mvn tomcat7:deploy

来布署到外部的tomcat7中,在命令运行后,我们可以在tomcat的webapp目录下看到布署的项目的war文件和war文件被解压后的项目文件。

tomcat7-maven-plugin插件也支持undeploy命令。

此时如果使用命令

mvn tomcat7:run

显示用的tomcat是内嵌的,plugin是tomcat7-maven-plugin,说明上面的配置文件是只对tomcat:deploy起作用了,而对tomcat7:run起作用。

 

注意,可能要常常查看8080端口是否占用:

netstat -apn| grep 8080

技术分享

 如果是LISTEN,则是被占用,如果是TIME_WAIT,则没有占用。

maven自动部署测试Web应用

原文:http://www.cnblogs.com/chuiyuan/p/5186111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!