Maven入门示例(3):自动部署至外部Tomcat

         上一篇,介绍了如何创建Maven项目以及如何在内嵌的Tomcat中部署测试Web应用,本篇主要介绍如何将开发的应用程序自动部署至外部Tomcat。本例中使用的Tomcat版本为Tomcat 7。

1、  安装Tomcat 7

1)  将Tomcat 7的安装包解压至C:\opensource,并将文件夹重命名为tomcat-7.0.34,得到的目录结构如下

 

2)  新建系统变量CATALINA_HOME,值为:C:\opensource\tomcat-7.0.34

3)  在系统变量  Path的最后面添加%CATALINA_HOME%\lib; %CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar   注意它们之间的分号,一定是英文的分号。

4)  Tomcat 7.0的管理员的配置,进入C:\opensource\tomcat-7.0.34(Tomcat目录)下的conf目录,编辑tomcat-users.xml,找到最后的:

<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>

 -->

在上面这段后面  添加上:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script"/>

从添加的这段中可以看到管理员的用户名和密码,后面配置将会用到。

5)  进入Tomcat 目录下的bin目录,双击startup.bat   启动Tomcat  在命令行窗口会出来英文提示。

6)  浏览器输入:http://localhost:8080  可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。

补充:使用外部的tomcat7 需要使用 tomcat-maven-plugin 的新版本,版本支持tomcat6和tomcat7,groupId也由org.codehaus.mojo改为org.apache.tomcat.maven。  可以参考看:

Maven的Tomcat插件地址为,http://tomcat.apache.org/maven-plugin.html。无需手动下载,按照本文配置,MyEclipse会自动下载到相应的tomcat-maven-plugin插件

2、修改项目的pom.xml  

1)在project的build节点下 添加tomcat-maven-plugin插件信息,如下写法添加了tomcat6和tomcat7的插件,如只用1种可以只写一个

  

  <plugins>  
        <plugin>  
            <groupId>org.apache.tomcat.maven</groupId>  
            <artifactId>tomcat6-maven-plugin</artifactId>  
            <version>2.0-SNAPSHOT</version>       
            <configuration>  
              <url>http://localhost:8080/manager/html</url>   
              <server>tomcat</server>  
            </configuration>         
        </plugin>  
        <plugin>  
            <groupId>org.apache.tomcat.maven</groupId>  
            <artifactId>tomcat7-maven-plugin</artifactId>  
            <version>2.0-SNAPSHOT</version>  
            <configuration>  
                <url>http://localhost:8080/manager/text</url>   
                <server>tomcat7</server> 
                <username>admin</username> 
                <password>admin</password>   
            </configuration>  
        </plugin>  
</plugins>  

--2.0-SNAPSHOT版本已经release了

2)  在project节点下,在插件仓库(plugin repositories)和普通仓库(repositories)中添加以下仓库到pom.xml,保证maven可以从仓库中下载到tomcat-maven-plugin插件,少添加了这段信息,会出现如下报错信息:

No plugin found for prefix 'tomcat' in the current project and in the plug

 

<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-group/
</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>

 3.配置setting.xml,修改%MAVEN_HOME%\conf\setting.xml(前提是在myeclipse preferences中maven启用本地安装版本并设置用户setting.xml为本地conf下的setting.xml)。

在<servers>标签中加入

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

注意这里用户名、密码必须为manager-gui角色的用户,这里设置需要与之前tomcat配置时的角色分配对应起来。

4.启动tomcat

运行请先启动tomcat,在maven build的goals中输入命令tomcat7:deploy即可发布,或在Run Configurations->Maven build新建一个命令,base directory里选择你的web project,在Goals栏可填写你所需要的命令,点击Run或者Debug后,MyEclipse会自动下载所需的插件并在Console启动Tomcat。

 

               

5、测试

打开浏览器,输入http://localhost:8080/helloworld,即可见到发布的Helloworld页面。同时,你也可以在C:\tomcat-7.0.34\webapps看到helloworld工程和helloworld.war包了。

 

 如果点击run后,Console报错,请参见下一篇错误排除

posted @ 2012-12-23 12:00  猿丁解码  阅读(5476)  评论(1编辑  收藏  举报