maven in action(八)maven常用插件使用

      

     针对问题,maven web项目如何部署到容器中,如何测试,如何提交svn,在本篇中就有了答案。

maven的所有操作是通过插件来执行的,插件是maven的核心,所有的执行操作都是基于插件设定了目标,一个插件中可能有多个目标。maven的三套生命周期,都是由其本身插件来完成,除此之外,还有一些实用的插件,如下。


maven之jetty插件

什么是jetty?

       jetty是一个纯粹的基于java的网页服务器和java servlet容器。尽管网页服务器通常用来为人们呈现文档,但是Jetty通常在较大的软件框架中用计算机和计算机之间的通信。jetty是eclipse基金会的一部分,是一个自由和开源的项目。该网页服务器被用在Apache ActiveMQ、apache Maven、FUSE、Eclipse等产品上。Jetty也是Lift、Red5、Hadoop等开源项目的服务器。Jetty支持最新的Java Servlet API,支持SPDY和WebSocket协议。

       我们可以在myeclipse和eclipse中安装jetty容器,但更为方便快捷,我们可以直接使用maven的jetty插件。


       在项目的pom.xml文件中配置 jetty,代码如下:

<span style="font-family:Microsoft YaHei;font-size:14px;"><plugins>
 	<plugin>
    		<groupId>org.mortbay.jetty</groupId>
    		<artifactId>jetty-maven-plugin</artifactId>
    		<version>7.6.10.v20130312</version>
    		<configuration>
    			<scanIntervalSecond>10</scanIntervalSecond>
    			<webApp>
    				<contextPath>/test</contextPath>
    			</webApp>
    		 <connectors>
    				<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                		<port>8083</port>  
            		</connector> 
    		 </connectors> 
    		 <war>${basedir}/target/vms-maven-3.0.war</war>
    		</configuration>
    </plugin></span>
<span style="font-family:Microsoft YaHei;font-size:14px;"></plugins></span>

在maven的setting.xml文件中配置如下代码:

<span style="font-family:Microsoft YaHei;font-size:14px;"><pluginGroups>
     <!-- 配置eclipse插件-->  
		
		<pluginGroup>org.mortbay.jetty</pluginGroup>  
</pluginGroups></span>

       运行命令: mvn jetty:run


       在浏览器中输入:http://localhost:8083/test 来测试应用了。


maven之自动部署到tomcat插件Cargo

       什么是cargo?

       cargo是一组帮助用户操作web容器的工具,它能够帮助用户实现自动化部署,而且支持几乎所有的web容器,如tomcat、jboss、jetty和GlassFish等,Cargo提供了maven集成,让maven用户可以使用该插件将web项目部署到web容器中。虽然这个插件和上述的jetty插件类似,但是目的不同,jetty插件用来快速开发和测试,而cargo插件主要服务于自动化部署。例如我们输入一条简单的maven命令,就可以将构建项目部署到web容器中,下面我们以tomcat为例介绍此插件。

       配置cargo插件

       cargo两种模式,standalone模式是cargo会从web容器安装目录复制一份配置到用户指定目录,然后再次基础上部署应用,每次重新构建的时候,目录被清空,然后重新配置。existing模式,用户需要指定现有的web容器配置目录,然后cargo会直接使用这些配置并将应用部署到其对应位置。我们以standalone模式为例。
在主项目的pom.xml中添加如下配置,代码如下所示:
<span style="font-family:Microsoft YaHei;font-size:14px;">   <plugin>  
 	    <groupId>org.codehaus.cargo</groupId>  
	    <artifactId>cargo-maven2-plugin</artifactId>  
	    <version>1.2.4</version>  
	    <configuration>  
	        <container>  
	            <containerId>tomcat7x</containerId>  
	            <home>D:\tomcat\tomcat7</home>  
	        </container>  
	        <configuration>  
	            <type>standalone</type>  
	            <home>${project.build.directory}/target/tomcat7x</home>  
	            <properties>  
	                <cargo.servlet.port>8084</cargo.servlet.port>  
	            </properties>  
	        </configuration>  
	    </configuration>  
	</plugin>  </span>

       为了避免端口重复,我们设置的端口号为8084。
       如果要直接部署到现有的web容器下,需要配置cargo为existing模式,也就是修改<type>为existing,而对应的home元素表示现有的web容器目录,运行mvn cargo:start后就可以在tomcat的webapps下看到部署的maven项目啦。

maven之一键式自动部署到tomcat,插件tomcat-maven-plugin

       此插件可以把web应用部署到tomcat下的插件,我们可以使用此插件把web应用一键式部署到一个远程的tomcat中。
       修改tomcat的用户名和密码
       访问http://localhost:8080/manager/html,在tomcat_install_dir/conf/tomcat-users.xml 中配置一个用户名和密码,  如下所示:
<span style="font-family:Microsoft YaHei;font-size:14px;"><?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <user username="admin" password="admin123" roles="manager"/>
</tomcat-users></span>

       在pom.xml中配置代码如下:
<span style="font-family:Microsoft YaHei;font-size:14px;"><plugin>  
            <groupId>org.codehaus.mojo</groupId>  
            <artifactId>tomcat-maven-plugin</artifactId>  
            <version>1.1</version>
            <configuration>  
            	
                <url>http://127.0.0.1:8080/manager/text</url>  
                <username>admin</username>  
                <password>admin123</password>  
                <path>/${finalName}</path>  
                <!-- 自动删除上一次部署的war-->
                <update>true</update>
            </configuration>  
       </plugin>  </span>

       然后启动tomcat(必须先启动tomcat, 不然会报错),执行mvn tomcat:deploy命令,引用就部署完毕。

       下一篇maven结合svn管理




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值