Maven自动部署至外部Tomcat

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

 

1)修改%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报错,请参见下一篇错误排除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven是一个功能强大的项目构建工具,它可以管理项目中的依赖关系。在一些情况下,我们希望将项目中所依赖的包外部化,即不将这些依赖包打包到项目的输出文件中。 要实现maven打包依赖包外部化,可以通过以下步骤: 1. 在项目的pom.xml文件中,使用<scope>provided</scope>标签将依赖项的范围设置为provided。通过此标签,我们告诉maven这些依赖项在运行时已经存在于目标环境中,因此不需要将它们打包到最终生成的项目文件中。例如: ```xml <dependency> <groupId>com.example</groupId> <artifactId>dependency-package</artifactId> <version>1.0.0</version> <scope>provided</scope> </dependency> ``` 2. 在项目部署时,确保将所需的依赖项包含在运行时环境中。这可以通过将这些依赖项放置在运行时环境的类路径中来实现。例如,可以将这些依赖项放置在Tomcat服务器的共享库目录下,或者在应用程序的WEB-INF/lib目录下放置这些依赖项的JAR文件。 通过这种方式,maven在构建项目时会将依赖项打包到项目输出文件中,但在运行时却不需要将这些依赖项放置在项目中,而是依赖于外部环境提供的包。 这种方式的好处是可以减小项目的发布包大小,提高项目的运行效率和部署速度,并且可以更灵活地管理项目的依赖关系。同时,也能够避免由于依赖包重复打包而导致的潜在冲突问题。 然而,需要注意的是,这种方式要求运行时环境必须存在所依赖的包,否则会导致项目在运行时出现错误。因此,在部署项目之前,需要确保外部环境已经配置了正确的依赖项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值