焦作一日游便宜还好玩:Maven学习总结

来源:百度文库 编辑:中财网 时间:2024/04/30 07:38:56

Maven简单介绍

Maven是基于项目对象模型(Project Object Model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.

掌握maven就是要学会如何编写pom.xml,尤其对于多个子项目的管理

约定俗成

src/main/java  存放Java文件

src/main/resources  存放资源文件

src/main/test  存放测试文件

Maven坐标

com.ibatis  项目属于哪个组

ibatis-sqlmap  项目在组中唯一的ID

2.1.0.565  项目当前的版本

ibatis sqlmap包  非必需,描述信息

在Maven中任何的jar,POM,或者war都是基于坐标进行区分的

Maven主项目和子项目管理的不同

  主项目jar包版本统一管理

  子项目不用指定jar包版本

指定当前项目的坐标:

com.taobao.newLauncher

newLauncher-biz-home

newlauncher-biz-home

1.0.0

jar

如果是主pom文件, packaging指定为pom

如果是要生成的war包,packaging指定为war

 

主项目指定子项目

   

       newlauncher-biz-core

       newlauncher-biz-home

 

 

子项目需要指定parent

 

       newLauncher

       com.taobao.newLauncher

       1.0.0

Maven命令

mvn clean     删除target目录内容

mvn package   打包

mvn install   让项目真正引用生成的jar包

mvn test      执行测试用例

Maven插件

1)maven-compiler-plugin 指定JDK版本

      

             maven-compiler-plugin

             2.3.2

            

              1.6

              1.6

              true

              gbk

            

            

             

                org.codehaus.plexus

                plexus-compiler-javac

                1.8.1

             

            

      

 

2)maven-war-plugin 打war包 在web子项目中指定

 

          

    launcher

    target/jboss

    

            

                org.apache.maven.plugins

                maven-war-plugin

                2.1.1

               

                   

                       

src/main/resources

                            true

                           

                                **/*.xml

                                **/*.vm

                           

                            WEB-INF

                           

                   

               

           

       

 

3)单元测试插件

 

    org.apache.maven.plugins

    maven-surefire-plugin

    2.6

   

       true

 

       true 是否过滤单元测试

      

      

           **/*Test.java

        

   

 

4)jar包插件

 

    org.apache.maven.plugins

    maven-jar-plugin

    2.3.1

   

      

          false

是否增加maven描述信息

          

true

          

          

          ${buildNumber}

          

      

   

 

5)resource插件  类似antx的auto-config功能

Mvn package –Pdev  dev即定义的ID

Antx中的属性文件在Maven中如何引用?

在主pom.xml中增加配置属性 

中可以有多个profile, id需唯一

 

      

           dev

          

           launcher.properties.dev

  -SNAPSHOT

          

          

              true

是否默认引用此文件 如果此项为true,引用此文件 参数-P可以不加

          

      

   

 

根据外部属性文件填写需要过滤文件中的变量,默认会生成到classes目录

 

           jdbc.properties.dev

Filter 配置项指定过滤那个文件?

1) 可以写文件名

2) 也可以写-P指定的profile ,

引用的是上述定义的profile dbc.properties.dev替换为../${props}

      

      

          

              src/main/resources

              true

true需要过滤,false不需要过滤

               需要过滤的文件

                  **/*.*

                  **/*

             

              那些文件不需要移动到classes目录

              **/*.xml

              **/*.vm

             

          

          

              src/main/java

             

                  **/*.xml

             

          

      

6)maven-eclipse-plugin插件

   

                  org.apache.maven.plugins

                  maven-eclipse-plugin

                  2.8

                 

                    

                         **/.svn/

                    

                     true

                 

             

Maven库配置

Maven从中央仓库下载这些资源文件,如果需要修改项目的下载地址,可以在主pom.xml文件中加入:

中任意增加repository仓库

     simba-nexus

http://mvnrepo.maven.com/nexus/content/repositories/releases

     

       true

   

   

       false