maven日记(九):使用Maven构建Web应用

>> 使用jetty-maven-plugin进行测试

在进行web开发的时候,我们总是无法避免打开浏览器测试,但是需要编译,测试、打包、测试、部署等一系列环节,这个很浪费时间。而jetty-maven-plugin这个插件利用内置的jetty web容器,周期轮训代码更新,省去我们打包和部署步骤,大大缩减测试时间。另外,web测试应该仅限于跟前台密切相关的测试,页面测试等。而后台的测试一定要写单元测试去测。

首先配置jetty-maven-plugin插件:


    org.mortbay.jetty
    jetty-maven-plugin
    7.1.0.RC1
    
        10
        
            /account
        
    

从上面可以看出,这个插件不是官方插件,所以必须在mvn的settings.xml文件中配置一下:


    
        org.mortbay.jetty
    
    ......

现在可以运行如下命令启动jetty-maven-plugin了,默认是8080端口:

# mvn jetty:run

如果希望其他端口启动jetty web容器,命令:

# mvn jetty:run -Djetty.port=9999

这时候,可以在浏览器中输入: http://localhost:9999/account/  测试应用了

>> 使用Cargo实现自动化部署:

Cargo是一组帮助用户操作Web容器的工具,它能够帮助用户实现自动化部署。支持所有的Web容器。Cargo通过cargo-maven2-plugin提供了Maven集成。虽然cargo-maven2-plugin和jetty-maven-plugin的功能看起来相似,但是它们目的是不同的。jetty-maven-plugin主要是帮助开发人员快速的启动容器开发,而cargo是帮测试人员快速部署到本地或远程的Web容器中方便集成测试和功能测试等。

—-部署到本地的Web容器—-

Cargo支持两种本地部署方式,分别是standalone和existing模式。standalone是每次构建都从web容器安装目录复制一份配置到用户指定目录中,按照这个配置区部署,而existing是用户指定Web容器的配置目录,然后Cargo会直接使用这些配置并将应用部署到其对应的位置。

使用standalone模式:


    org.codehaus.cargo
    cargo-maven2-plugin
    1.3.1
    
        
            tomcat7x
            D:\lib\apache-tomcat-7.0.34
        
        
            standalone
            ${project.build.directory}/tomcat7x
            
                8082
            
        
    

同理,cargo插件的groupId是org.codehaus.cargo,这个不属于官方的两个Maven插件,因此还是要修改.m2文件夹中的settings.xml:


    org.mortbay.jetty
    org.codehaus.cargo

然后运行:mvn cargo:run,即可访问:http://127.0.0.1:8082/account-web-1.0.0-SNAPSHOT/login.jsp

——部署至远程正在运行中的Web容器中———


    org.codehaus.cargo
    cargo-maven2-plugin
    1.3.1
    
        
            tomcat7x
            remote
        
        
            runtime
            
                admin
                8082
                http://10.68.14.119:8080/manager
            
        
    

之后,运行:

# mvn cargo:redeploy

即可部署热应用了,如果容器中已经部署了当前应用,cargo会将它卸载,然后重新部署。

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

你可能感兴趣的:(JavaEE,maven)