mvn使用详解

Maven环境变量配置:
      变量名:M2_HOME     变量值:D:\bin\apache-maven-2.2.1   (安装路径)
      在path值后面追加  %M2_HOME%\bin;    (注意要加分号)
测试:
      Mvn –version 

maven常用命令为 :
       mvn archetype:create :创建 Maven 项目
       mvn compile :编译源代码
       mvn test-compile :编译测试代码
       mvn test : 运行应用程序中的单元测试
       mvn site : 生成项目相关信息的网站
       mvn clean :清除目标目录中的生成结果
       mvn package : 依据项目生成 jar 文件
       mvn install :在本地 Repository 中安装 jar
       mvn eclipse:eclipse :生成 Eclipse 项目文件
生成项目
       建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
       建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
       archetype  是一个内建插件,他的create任务将建立项目骨架
       archetypeArtifactId项目骨架的类型,DartifactId 项目名称
可用项目骨架有:
       maven-archetype-archetype  
       maven-archetype-j2ee-simple
       maven-archetype-mojo
       maven-archetype-portlet
       maven-archetype-profiles 
       maven-archetype-quickstart
       maven-archetype-simple
       maven-archetype-site
       maven-archetype-site-simple, and
       maven-archetype-webapp
------------------------------------------------------------------------------------------
Setting.xml 配置文件
    localRepository:本地库存位置,jar包保存位置,默认${user.dir}/.m2/repository
    offline: true/false,如不想每次编译都去查找远程中心库,就设置为true,前提是已下载好包
    Servers:配置特定的用户
       <servers>
          <server>
            <id/><username/><password/><privatekey/><pssphrase/>
            <filePermissions/><directoryPermissions/><configuration/> 
          </server>
        </servers>
        id:用于匹配distributionManagement库id
        username,password:用于登陆此服务器的用户名和密码
        privateKey,passphrase:设置private Key,及passphrase
        filePermissions,directoryPermissions:访问权限664/775
   mirrosrs:镜像库,用于添加其他库
        <mirrors>
            <miror>
               <id/><name/><url/><mirroOf/>
            </mirror>
        </mirrors>
        id,name:唯一的标志,用来区别镜像
        url:镜像的url
        mirrorOf:此镜像指向的服务id
    Proxies:代理设置,用于无法直接访问中心库的配置
        <proxies>
            <proxy>
               <id/><active/><protocol/><host/><port/><username/><password/><nonProxyHosts/>
            </proxy>
        </proxies>
        id:代理的标志 active:是否激活代理 
        protocol,host,port:protocol://host:port代理
        username,password:用户名密码 nonProxyHosts:不需要代理的host
     repositories和pluginRepositonries定义本地开发库  用于release发布
        <repositories>
            <repository>
                <id/><name/><url/>
                <releases>
                    <enabled/><updatePolicy/><checksumPolicy/>
                </releases>
                <snapshots>
                     <enabled/>
                </snapshots>
                <layout/>
             </repository>
          </repositories>

-----------------------------------------------------------------------------------------------

Pom.xml 配置文件
     在pom.xml中定义jar包版本还有依赖,管理jar文件。
     包括配置文件;开发需要遵循的规则,缺陷管理系统,组织和licenses,项目的依赖性
     groupId:项目或组织唯一标志,并生成项目路径
     artifactId:项目名称  version:项目版本
     packaging:打包的机制,如jar,pom,war....
     maven中继承的定义
         <project>
             <modelVersion/><groupId/><version/><packaging/>
         </project>
         父项目packaging类型需要为pom,用于parent和合成多个项目,子项目为
         <parent>
              <groupId/><artifctId/><version/>
         </parent>
     Modules合成
         <modules>
            <module>tc-dient</moduble>
            <module>tc-server</module>
         </modules>
     build设置:用于编译设置,包括两个主要元素,build,report
         <project>
            <project>
                <build/>
                <profies>
                   <profile>
                      <build/>
                   </profile>
                </profies>
            </profiles>
          </project>
      build-plugin插件
         <project>
            <build>
               .....
               <plugins>
                  <plugin>
                      <groupId/><artifactId/><version/>
                      <extensions/><executions/>
                   </plugin>
               </plugins>
             </build>
          </project>
       extensions:true/false 是否装载插件扩展,默认为false
       inherited:true/false 此插件配置是否应用于poms(继承)
       configuration:指定插件配置
       dependencies:插件需要依赖的包
       executions:用于配置execution目标,一个插件可以有多个目标
       build-resources资源,项目中需要指定的资源如:log4j.properties
           <project>
              <build>
               <resources>
                    <resource>
                        <targetPath/><filtering/><directory/>
                        <includes>
                            <include/>
                         </includes>
                         <excludes>
                             <exclude/>
                         </excludes>
                      </resource>
                </resources>
             <testResources>
                 ...
             </testResources>
                 ....
            </build>
          </project>
          resources:列表,包括所有的资源
          targetPath:指定目标路径,用于放置资源,用于build
          filtering:是否替换资源中属性placehold
          directory:资源所在的位置
          includes:样式,包括资源
          excludes:排除的资源
          testResources:测试资源列表
       dependencies:依赖关系
           <dependencies>
               <dependency>
                   <groupId/><artifactId/><version/>
                   <type/><scope/><optional/>
               </dependency>
           </dependencies>
        groupId,artifactId,version:描述了依赖的项目唯一标志
        使用以下的命令安装:
              mvn install:install-file –Dfile=non-maven-proj.jar –DgroupId=some.group –DartifactId=non-maven-proj –Dversion=1
        创建自己的库,并配置,使用deploy:deploy-file  设置此依赖范围为system,定义一个系统路径。不提倡。
        type:相应的依赖产品包形式,如jar,war
        scope:用于限制相应的依赖范围,包括以下的几种变量:
        compile:默认范围,用于编译
        provided:类似于编译,但支持你期待jdk或者容器提供,类似于classpath
        runtime:在执行时,需要使用
        test:用于test任务时使用
        system:需要外在提供相应得元素。通过systemPath来取得
        systemPath: 仅用于范围为system。提供相应的路径
        optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用


 

你可能感兴趣的:(mvn,mvn环境变量配置,mvn口令,mvn中pom.xml配置)