zoukankan      html  css  js  c++  java
  • maven: 基本使用

    1.项目管理工具:
    Maven的repository,说白了就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的 repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不 再去其它地方下载了,直接从本地获取


    Maven常用命令

    mvn compile
    编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。

    mvn test-compile
    编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。

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

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

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

    mvn package
    依据项目生成 jar 文件,打包之前会进行编译,测试。

    mvn install
    在本地 Repository 中安装 jar。

    mvn eclipse:eclipse
    生成 Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。


    Maven2,它是一个模块化项目构建工具(Building a Project )。它能够管理依赖、构建周期、测试、 打包并且在仓库中发布你的制品。它是一个项目构建工具,领先于通常的构建工具(实际上它的第一个版本是在Ant之上的一层)。
    apache ivy2 对项目依赖的文件可以进行统一的管理,依赖于ant,它是一个管理(记录、跟踪、解析和报告)项目依赖的工具 (dependency tool)。

    Maven 2和Ivy常被放在一起对比,但实际上两者是不同类型的工具。Ivy仅提供依赖管理功能,但是Maven 2是一个软件项目管理综合工具,能够管理构建、报告、文档,以及根据中心化的信息来管理依赖。Ant和Ivy 2.0集成在一起,与Maven 2进行比较才比较合适。

    两个工具处理冲突管理(Conflict management)的方式是不同的,冲突管理指处理传递依赖时解决冲突的能力。Ivy允许由模块定制冲突管理器和规则,而Maven 2的冲突管理则基于最近的定义(也就是说,一个模块依赖于foo 1.0,这会导致模块的所有依赖都不能使用foo 1.1)。

    Maven 2通过一个叫阶段(scope)的概念来处理其中的依赖配置。在Maven 2中,一个依赖只在定义它的测试阶段或构建阶段有效。Ivy能够创建多配置映射,这些映射可将每个配置(需构建工件的声明)与其它模块的依赖绑定在一起,以此提供了更多的定制选项。

    Maven 2关于依赖管理的文档很有限,相对于此,Ivy的文档内容更宽泛,包含大量的例子和指南,同时包括FAQ。有些企业不能使用公共仓库,并在基于Ant的构建系统中有大量投资,对于这样的企业来说,Ivy支持企业仓库的创建、与Ant紧密集成,这些附加的特征都使Ivy成为能替代Maven 2的依赖管理工具。
     
     
    在项目的pom.xml中添加
             <!-- add By lwz -->
             <dependency>
             <groupId>org.codehaus.groovy</groupId>
              <artifactId>groovy</artifactId>
              <version>1.6.2</version>
               </dependency>
             <dependency>
             <groupId>org.codehaus.groovy</groupId>
              <artifactId>groovy-all</artifactId>
              <version>1.6.2</version>
               </dependency>
      直接保存之后maven会自动的更新依赖,即可下载,
    下载之后如果有错误,命令行切换到工程目录下(工程目录下有pom.xml)
    mvn clean 
    mvn install
    如果不行就clean 一下工程,update 依赖


    一下是maven的常用命令


    Maven库:

    http://repo2.maven.org/maven2/

    Maven依赖查询:

    http://mvnrepository.com/

    Maven常用命令:
    1. 创建Maven的普通java项目:
       mvn archetype:create
       -DgroupId=packageName
       -DartifactId=projectName 
    2. 创建Maven的Web项目:  
        mvn archetype:create
        -DgroupId=packageName   
        -DartifactId=webappName
        -DarchetypeArtifactId=maven-archetype-webapp   
    3. 编译源代码: mvn compile
    4. 编译测试代码:mvn test-compile   
    5. 运行测试:mvn test  
    6. 产生site:mvn site  
    7. 打包:mvn package  
    8. 在本地Repository中安装jar:mvn install
    9. 清除产生的项目:mvn clean  
    10. 生成eclipse项目:mvn eclipse:eclipse 
    11. 生成idea项目:mvn idea:idea 
    12. 组合使用goal命令,如只打包不测试:mvn -Dtest package  
    13. 编译测试的内容:mvn test-compile 
    14. 只打jar包: mvn jar:jar 
    15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
          ( -skipping 的灵活运用,当然也可以用于其他组合命令) 
    16. 清除eclipse的一些系统设置:mvn eclipse:clean 

    ps:

    一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。

    mvn -version/-v  显示版本信息
    mvn archetype:generate        创建mvn项目
    mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目

    mvn package            生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
    mvn jetty:run            运行项目于jetty上,
    mvn compile                    编译
    mvn test                    编译并测试
    mvn clean                    清空生成的文件
    mvn site                    生成项目相关信息的网站
    mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目
    mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse项目的配置信息(Web项目)
    mvn eclipse:eclipse                将项目转化为Eclipse项目

    在应用程序用使用多个存储库
    <repositories>   
        <repository>     
            <id>Ibiblio</id>     
            <name>Ibiblio</name>     
            <url>http://www.ibiblio.org/maven/</url>   
        </repository>   
        <repository>     
            <id>PlanetMirror</id>     
            <name>Planet Mirror</name>     
            <url>http://public.planetmirror.com/pub/maven/</url>   
        </repository> 
    </repositories>


    mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/


    发布第三方Jar到本地库中:

    mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:client-0.1.0.jar


    -DdownloadSources=true

    -DdownloadJavadocs=true

    mvn -e            显示详细错误 信息.

    mvn validate        验证工程是否正确,所有需要的资源是否可用。
    mvn test-compile    编译项目测试代码。 。
    mvn integration-test     在集成测试可以运行的环境中处理和发布包。
    mvn verify        运行任何检查,验证包是否有效且达到质量标准。    
    mvn generate-sources    产生应用需要的任何额外的源代码,如xdoclet。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifxue/archive/2009/10/14/4662902.aspx

    常用命令:
    mvn -v 显示版本
    mvn help:describe -Dplugin=help 使用 help 插件的  describe 目标来输出 Maven Help 插件的信息。
    mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列
    mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置  mojo 参数和  plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息
    mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标
    mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置

    mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 创建Maven的普通java项目,在命令行使用Maven Archetype 插件
    mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序
    mvn dependency:resolve 打印出已解决依赖的列表
    mvn dependency:tree 打印整个依赖树

    mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行
    mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试
    mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件

    mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
    mvn compile 编译你的项目
    mvn clean install 删除再编译 
  • 相关阅读:
    hdu 3579 Hello Kiki (中国剩余定理)
    hdu 1573 X问题 (非互质的中国剩余定理)
    poj 2891 Strange Way to Express Integers (非互质的中国剩余定理)
    查看cache中消耗性能的语句
    sqlserver2008 R2中查找未使用过的索引
    【转】如何新建索引:高开销的缺失索引
    查看sqlserver 2008中性能低下的语句
    经典
    符合条件的记录有则修改没有则添加的小优化技巧
    测试分区表,以及在现有表上新建分区方案,以及把分区表变为普通表测试代码!!
  • 原文地址:https://www.cnblogs.com/monion/p/6256950.html
Copyright ? 2011-2022 开发猿


http://www.vxiaotou.com