`
wdhdd889
  • 浏览: 150098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

maven学习指南

阅读更多
  maven2学习指南
               
       最近时而间断学习maven2,由于公司项目一直未使用它作为项目管理工具,在实战方面有很多欠缺。
         根据翻阅的资料以及相关权威文档学习,对maven的应用有个简单的了解,如果让我花很多的时间
        再写一遍出来,那样是太浪费时间了。倒不说一些maven的学习指要更为好些,爱好者们可以根据这些指要
    去google,学习的效率也许会更高。
        1  约定规则 
            相比以前的SRC目录存放项目源文件  而maven 则改为src/main/java目录下面
            当然还有其他的test,resource,class等目录,在maven种都有一个约定的标准目录
            具体可以google
            以下是收索的部分资料,仅供参考
               目录src/main/java java源码目录
               目录src/main/resources 资源文件目录
               目录src/test/java 测试java源码目录
               目录src/test/resources 测试资源文件目录
               目录target 打包输出目录
               目录target/classes 编译输出目录
               目录target/test-classes 测试编译输出目录
               目录target/site 项目site输出目录
               目录src/main/webapp web应用文件目录(当打包为war时),如WEB-INF/web.xml
             jar 默认打包格式
             *Test.java Maven只会自动运行符合该命名规则的测试类
             %user_home%/.m2 Maven默认的本地仓库目录位置
               中央仓库 Maven默认使用远程中央仓库:http://repo1.maven.org/maven2
             1.3 Maven Compiler插件默认以1.3编译,因此需要额外配置支持1.5
           
        2  POM(项目对象模型)文件
           是 maven 管理项目的一个标准配置文件,在该文件中对项目进行定义,大致包含四类信息:
           项目总体信息(包含gruopId,artitactId,version,Multl-Module,Inhenitance,Dependencies等元素属性值)
              主要是指项目的名称,url,发起组织,开发者等信息
           构建设置(包含directories,extensions,resources,plugins,reporting等元素属性值)
           自定义Maven构建的默认行为
           构建环境(包含Environmentinformation maven Environment profiles等信息)
           包含了一些能在不同使用环境中激活的ptofile
           POM依赖关系
             主要指不同项目的POM之间的依赖设置,管理好不同项目之间的依赖也是maven应用的主要目的。
          查阅google或maven权威指南,里面会有对文件的每一元素及其所起的作用做详细的解释。
           一旦对POM文件详细了解后,相信对Maven2应用将是一个简单的事情
           需要提醒的是,maven有一个默认的超级POM,所有的POM都共享这个超级POM里面的设置,它位于${maven_home}/lib的
           jar文件中,org.apache.maven.project的包下,一些默认设置可以通过这个文件进行修改,以便全局
           共享
           總而言之,项目对象模型将是maven2中最重要的一环,熟悉的掌握POM的配置,将会使其在项目中的应用
           变得游刃有余。
        
         3 构建生命周期
           所謂的构建生命周期在這里指的是项目构建周期,简称编译,测试,打包,发布等这样的一个过程。
           在Maven中,对生命周期进行了封装,只需要对生命周期的范围进行设置,项目在构建时将会执行
           指定范围的生命周期.
           生命周期在Maven中简单定义为三种类型:清理生命周期(clean),默认生命周期(default)和站点生命周期(site);
           其中默认生命周期是最需要熟悉的,它几乎定义了生命周期的所有阶段,具体内容可google或查阅Maven权威指南
           当然不同的打包类型也是有不同的执行生命周期的,但它们大都包含在默认生命周期内,只是或多或少的在构建阶段上有所
           变化,大致还是相同的。
           顺便提示一下,生命周期范围value将使构建执行到指定范围的时候而中止。详细内容自己google吧
          
          4  profile设置
             该信息在Maven中通常用于自定义一些设置,或者更改默认设置,或者修改构建移植信息,以及修改激活等等
             这部分内容比较宽泛,可根据需要进行学习,但需要有前面的基础,才能学的更好写,因为它基本都是基于成型文件的
             基础上所进行的修改 ,感兴趣的话就google一下,目前我对这块内容也不怎么熟悉,希望爱好者能学的更好。
            
 
          5 依赖管理
             使用Maven进行管理的项目,极少有单一项目的管理,因为这样的话,Maven的作用将得不到充分的发挥,且会造成不必要的
             繁琐。实现项目依赖管理,使得多项目依赖开发变得更为方便,且能提供很好的管理。由于模块化的开发一直受青睐,但
             模块之间的依赖是让人头疼的问题,maven的出现使这些看似琐屑的事变得简单。只要你对Maven  POM中的依赖管理配置篇章
             多加学习,就可实现多项目之间的依赖管理。同时要注意依赖优化设置等问题.google一下吧
         
         
         
         
          6 Nexus 仓库管理器
               仓库管理器就是用来管理依赖jar的工具,由于每Maven构建时,所依赖的jar文件都要从中央仓库下载,会造成资源的浪费,
               同时给其他使用maven中央仓库的人造成影响,且占用公司的带宽。使用Nexus可以解决这些问题,并且能达到公司所有项目
               共享依赖jar的目的,节省硬盘空间且提高构件速度,同时也可以自由增加第三方jar文件。當然也可以利用它實現遠程代理設置等。
               如果你有很多的项目使用 Maven2 且有很多项目依赖的话,熟悉一下nexus吧,它将会极大地提高您的工作效率
               具体使用请google
              
              
              
               以上6点我说的都很笼统,也算是乱说几句吧,纵观正个Maven,基本上也就上述一些内容,具体的使用,google里多的是,希望
               有兴趣的朋友能根据我的提议进行重点学习,我有点懒了,呵呵,希望这些懒能带给别人勤奋。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics