zoukankan      html  css  js  c++  java
  • maven2 起步

    相信maven1 大家都已经很熟悉了,具体maven能做什么,就不详细说了。个人觉得maven在开源项目中用的还是比较多的,公司内部,就不太清楚了。我以前的公司用过一段时间,不过后来就没有下文了。 
    与maven1 相比,maven2可算是几乎重写了,不过从速度来说应该更快。 
    主要的几个新特性包括:(详细参考http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html) 
    1. 更快、更简单 
    速度方面可以比上ant了 
    2. 更少的配置文件 
    现在的配置文件只剩下了settings.xml和pom.xml了。 
    3. Plugin语言更换 
    语言开始支持java,BeanShell和ant 
    4. 提供了预定义的模版 
    这点是最有帮助的,用户可以自己定义自己的项目模版了,就像用appfuse一样生成项目结构 
    5. 生命周期的引入 
    在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。 
    6. 新增Dependency Scope 
    这点也比较重要,有些用于test范围的包,可以不用加入依赖了 
    7. 传递依赖,简化依赖管理 
    这是最为方便的,可以省了很多配置。如a 依赖 b,b 依赖c 默认 a也会依赖 c。但是也会带来隐患,如版本冲突。不过maven 也已经考虑到了,可以使用exclusions来排除相应的重复依赖

    介绍了那么多,现在切入正题,开始maven2 之旅: 
    首些下载需要的工具: 
    maven2: http://maven.apache.org/download.html 最主要的 
    maven-proxy:用来代理repository,使用本地库代替maven2的远程库 
    http://maven-proxy.codehaus.org/ 
    continuum:一个不错的持续整合工具,用于自动build。支持ant,maven 
    http://maven.apache.org/continuum/ 
    svn:版本控制工具相信都已经配置了。 
    maven 用于eclipse的插件 ,在maven主站有下载,不错的插件。当然idea也有相应的插件 
    最后,http,服务器是必不可少的。用于内部开发使用。 
    可以使用apache ,或者jetty http://www.mortbay.org/

    安装: 
    安 装maven2很简单,把下载来的maven包解开就行了。(目前我的配置都在win2003上,还没有应用于linux,所有所有的配置都针 对 windows).增加相应的环境变量m2_home=maven2的安装目录,不要忘了设置java_home的目录。另外在path中增 加% m2_home%"bin;可以直接在命令行下面使用mvn。 
    其他工具的安装在后续的文章会介绍。

    开始第一个mvean2项目: 
    mvn archetype:create -DgroupId=com.mycompany.app " 
    -DartifactId=my-app 
    简单介绍一下 groupId相当于你的组织,如同org.springframework,会转化为相应得本地路径 artifactId,你主要的jar包名称,也就是你要打成的jar 名称。 
    编译应用资源 
    mvn complile 
    编译相应的jave 文件 
    编译测试类以及运行测试类 
    mvn test 
    运行测试类 
    如果只想编译test,执行 
    mvn test-compile 
    打包和安装你的本地库 
    打包: 
    mvn package 
    安装: 
    mvn install 
    创建web site 
    mvn site 
    清除所有输出 
    mvn clean 
    创建相关的ide文件 
    mvn idea:idea 或者 mvn eclipse:eclipse

    顺便说一下,maven2 是有生命周期这一概念的,也就是说如果你执行package,相应的以前步骤,如compile,test等都会自动执行。 
    刚开始执行会比较慢,需要从maven2远程库中下载所有的文件到本地。如果你的本地没有相应的依赖包,则每次maven都会去远程下载,所以配置一个镜像库就比较重要了。 
    另外介绍一下主要的参考资料: 
    mavn2 主站:主要的pom和settings.xml参考资料 
    Better Builds with Maven http://www.mergere.com/m2book_download.jsp 
    不错的书,主要通过例子介绍。可惜都是E文的,花点时间还是值得的。 
    下一个主题,会说一下maven2的主要配置。
  • 相关阅读:
    MVC3、如何应用EntityFramework 连接MySql 数据库 Kevin
    DEV EXPRESS Summary Footer 不显示 Kevin
    装饰模式 Kevin
    Dev 控件 GridControl 控件 二次绑定数据源的问题。 Kevin
    System.InvalidOperationException 异常 Kevin
    LINQ to XML Kevin
    代理模式——代码版“吊丝的故事” Kevin
    VS2012 中的设备 面板 Kevin
    maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程
    maven 学习笔记(一)eclipse+android+maven
  • 原文地址:https://www.cnblogs.com/baoguo/p/1347594.html
Copyright © 2011-2022 走看看