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里多的是,希望
有兴趣的朋友能根据我的提议进行重点学习,我有点懒了,呵呵,希望这些懒能带给别人勤奋。
分享到:
相关推荐
Apache Maven是一个开源的项目管理和综合工具,...以上内容不仅会为初学者提供Maven入门的全面指导,还会通过实际例子帮助开发者深入理解并掌握Maven的高级特性,为他们今后在项目开发中解决实际问题提供了强大的工具。
【Maven学习指南】 Maven是一个强大的项目管理工具,源于Apache组织,专为基于Java平台的项目构建、依赖管理和项目信息管理而设计。它通过一个明确的项目对象模型(POM)来描述项目,利用其内置的项目生命周期和...
Maven学习指南主要涵盖了Maven的基本概念、主要作用以及它的核心价值。Maven作为一个项目管理和构建自动化工具,它在JavaEE项目开发中起到了至关重要的作用。本指南将详细介绍Maven的使用场景,以及它如何帮助解决在...
** Maven学习资源整理** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。本资源包是为初学者和有经验的开发者准备的一系列Maven学习资料,旨在帮助你更好地理解和...
本指南覆盖了Maven的基础概念、核心功能以及高级应用,是学习和掌握Maven不可或缺的参考资料。 Maven是一个基于项目对象模型(Project Object Model,POM)的概念,它能够自动化构建Java项目,包括编译源代码、运行...
该文档简单明了的介绍了pom的相关内容,可以从基础出发了解
《Maven权威指南》不仅是一本学习Maven的入门书籍,更是深入理解和掌握Maven高级特性的宝贵资源。通过本书的学习,开发者能够掌握Maven的核心理念和最佳实践,从而提升项目构建的效率和质量,使项目管理更加规范化和...
里面包含:两本maven电子书(《Maven权威指南中文版》和《Maven实战》)和两个文档(《在maven和jetty环境下eclipse的调试》、《基于Maven的Spring_+_Spring_MVC_+_Mybatis的环境搭建》),内容皆精品。
Maven学习指南.pdf Maven实战.doc Maven实战.pdf Maven构建并管理Flex项目入门.pdf Maven简单实用教程.docx OTNVD_WebLogicServerDevelopment_CN.pdf 《Maven实战》(国内首本Maven著作)(Maven的安装、配置及使用入门...
《Maven权威指南中文完整版清晰》是一本深入解析Maven构建工具的教程,它为Java开发者提供了详尽的指导,帮助他们理解和掌握Maven的使用。Maven是Apache软件基金会开发的一个项目管理工具,主要用于Java项目的构建、...
通过深入学习《Maven权威指南最全讲授》,读者不仅能了解Maven的基本使用,还能掌握高级特性,如自定义插件开发、 profiles的使用、以及如何优化Maven配置以适应大型复杂项目的需求。这本书将引领读者从Maven的入门...
【 Maven学习极品:初学者的完美指南】 Maven,一个由Apache软件基金会开发的项目管理工具,是Java世界中不可或缺的一部分。它简化了构建过程,通过自动管理项目的依赖关系,使得开发者可以专注于编写代码,而不是...
综上所述,《Maven实战学习资料》是一份全面、深入的Maven学习指南,它不仅适合Maven新手入门,也适合有经验的开发者进阶学习。通过本书,读者将能够掌握Maven的核心功能,学会如何利用Maven提升项目构建的效率和...
Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...
### Maven开发指南中文版知识点概览 #### 一、Maven概述 **1.1 Maven是什么?** Maven是一款开源的项目管理和理解工具,主要用于Java项目的构建与管理。它的核心功能在于通过一套标准的构建流程来简化项目构建过程...
### Maven权威指南知识点总结 #### 一、Maven概述 **1.1 Maven定义与功能** Maven是一款项目管理和理解工具。它通过一系列标准集合、项目生命周期、依赖管理系统以及插件系统来支持项目的构建和管理。 **1.2 ...
【 Maven 学习指南】 Maven 是一个强大的项目管理和构建工具,主要应用于Java项目。它通过提供一套标准化的构建过程,使得项目的构建、依赖管理变得简单。Maven 的核心概念是基于项目对象模型(Project Object ...
《Maven权威指南开发实例代码》是一本深入探讨Maven构建工具的实践性书籍,它提供了丰富的示例代码,帮助开发者全面理解并掌握Maven的使用。Maven是Apache软件基金会开发的一款项目管理和综合工具,它主要负责管理...
通过深入学习《Maven权威指南中文版》,开发者可以熟练掌握Maven的使用,提高项目管理效率,降低开发复杂度。这份指南涵盖了从基础到进阶的所有内容,对于任何希望在Java开发中使用Maven的人来说,都是不可或缺的...
**Maven权威指南中文版** 是一套详尽的资源,旨在帮助开发者深入理解和高效使用Apache Maven...通过学习此指南,开发者能够更加高效地管理和构建Java项目,提升团队协作效率,减少构建错误,实现项目的标准化和自动化。