学习Maven记录

1.下载Maven并安装配置环境变量, http://maven.apache.org/
2.本地仓库的安装
  A.修改Maven目录下的conf目录下的setting.xml文件,指明本地路经
  B.<localRepository>D:/mavenRep</localRepository>
3.新建一个项目
  A.新建文件夹,以此文件夹下建pom.xml并配置
  B.配置此项目的坐标值
  C.groupId           项目的名称
  D.artifactId        用来表示项目的模块名称(建议使用项目名称-模块名称)
  E.version           项目的版本
  F.如下是加入Junit依赖
       <dependencies>
		<dependency>
		  <groupId>junit</groupId>
		  <artifactId>junit</artifactId>
		  <version>3.8.1</version>
		  <scope>test</scope>
		</dependency>
	</dependencies>
4.创建源代码,
  A.源代码放置到src/main/java
  B.源代码资源文件放置到src/main/resource/文件夹下
  C.测试代码放置到src/test/java
  D.测试资源文件放置到src/test/resource文件夹下
5.运行Maven
  A.mvn clean   清理操作
  B.mvn clean compile 先清理后编译
  C.mvn clean test   清理测试
  D.mvn clean package 清理打包
  E.mvn clean install 清理安装,会将打好的包安装到本地仓库中便其它项目用
  F.mvn clean deploy 清理发布,
  G.mvn archetype:generate  生成项目骨架
6.eclipse安装好maven插件后,把安装目录和setting.xml设置一下

============================Maven依赖=====================================
1.在eclipse中新建一个maven项目(选择maven-archetype-quickstart方式)
2.我们建几个模块,相互之前有依赖,Dao模块,Service模块,log模块等等
3.所有的依赖都通过坐标来查找的(GAV):
  http://mvnrepository.com/
  http://www.sonatype.org/nexus
4.中央工厂:maven-model-builder-3.1.1.jar包中pom.XXX.xml
5.测试出错,可以查看target目录下的log日志
6.maven如何搜索依赖呢?
  A.先去本地仓库查询,如果没有,就去中央仓库查询
  B.依赖的传递性(是有范围的)
     A--》C   B--》A  B就会自动依赖于C(基于compile范围依赖的)
     如果没有写,默认是compile范围; 
     <dependencies>
		<dependency>
		  <groupId>junit</groupId>
		  <artifactId>junit</artifactId>
		  <version>3.8.1</version>
		  <scope>compile</scope>
		</dependency>
     </dependencies>
7.A.哪一个先依赖就使用那一个
  B.如果路经长短不一致就选择最小路经
  C.如果喜欢精确的控制依赖包,可以使用依赖的排除功能
================================Maven依赖--继承与聚合===========================
我现在开发了四个模块Dao, Service、Core、Log
每一个都要运行打包很麻烦的,使用聚合解决
1.聚合问题
  A.也建一个项目,就使用一个文件就可以了,或者放置到和所有的项目同一级目录
  B.在此项目中的pom.xml中使用modules把那四个模块引进来

[url]http://dl2.iteye.com/upload/attachment/0093/0432/fe1762a6-3de5-354a-a99e-28fa06714258.bmp[/url]
================================继承=========================================
待完成。。。。


===============================版本管理======================================
问题:如何来有效的设定这些版本名称
 A.一般有四个数字,
 B.第一个主版本号,第二个是分支版本号,第三个是小版本号,小版本后-里程碑版本号
 C.总版本的变动一般是框架的变动,分支版本一般表示增加了一些东西,
   小版本号一般是在分支版本号的基础上进行Bug的修复,碑版本SNAPSHOT--》--
   Alpha版本(内部测试版本)--》Bate版本(外部公测版本)--》Release版本(非常
   稳定了)--》GA稳定版本
===============================Maven仓库===================================
1.本地仓库:在本机上面的仓库
2.中心仓库:
3.私有仓库:局域网内的部的仓库(Nexus)
  nexus安装(下载减压):
  A.配置环境变量(D:\Develop\OpenSource\maven\nexus-latest-bundle\
    nexus-2.7.0-06\bin)
  B.Nexus有二个版本,war(可以发布到Web服务器中), jetty
  C.管理员的权限下在CMD中运行C:\Users\Admin>nexus install接着运行nexus start
    如果启动失败就修改D:\Develop\OpenSource\maven\nexus-latest-bundle\
    nexus-2.7.0-06\bin\jsw\conf\wrapper.conf文件中的wrapper.java.command=java
    为C:\Program Files\Java\jdk1.7.0_40\bin\java
  D.在地址栏中访问http://localhost:8081/nexus点击右上角的login admin/admin123
  E.host的仓库是内部项目发布仓库
    1.Releases内部的模块中release模块的发布仓库
    2.Snapshots发布内部的SNAPSHOT模块化的仓库
    3.3rd party第三方依赖仓库,这个数据常由内部人员自行下载之后发布
  F.Proxy仓库:从远程中央仓库中寻找数据的仓库
  G.Group仓库:用来方便开发人员设置的仓库
杂七杂八:
1.把用户目录下的Maven仓库搬到其它盘下,防止装系统后删除了,
  A.如我的C:\Users\Colonel.Hou\.m2目录下的repository目录移动
    到D:\Develop\OpenSource\maven\rep目录下,
  B.修改STS配置的Maven安装目录下的conf目录下的settings.xml中配置项为:
    <localRepository>D:/Develop/OpenSource/maven/rep/repository</localRepository>
  C.

猜你喜欢

转载自houshangxiao.iteye.com/blog/2002571