码迷,mamicode.com
首页 > 其他好文 > 详细

Maven配置命令介绍

时间:2015-08-03 19:20:32      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:maven mvn pom

Maven环境变量配置:

      变量名:M2_HOME     变量值:D:\bin\apache-maven-2.2.1   (安装路径)

      在path值后面追加  %M2_HOME%\bin;    (注意要加分号)

测试:

      Mvn –version

 

maven常用命令为 :

       mvnarchetype:create :创建 Maven 项目

       mvn compile :编译源代码

       mvntest-compile :编译测试代码

       mvn test : 运行应用程序中的单元测试

       mvn site : 生成项目相关信息的网站

       mvn clean :清除目标目录中的生成结果

       mvn package : 依据项目生成 jar 文件

       mvn install :在本地 Repository 中安装 jar

       mvneclipse: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:描述了依赖的项目唯一标志

        

使用以下的命令安装:

              mvninstall: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: 标注可选,当项目自身也是依赖时。用于连续依赖时使用

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Maven配置命令介绍

标签:maven mvn pom

原文地址:http://blog.csdn.net/chndata/article/details/47258699

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!