Maven学习笔记

来源:互联网 发布:剑三正太捏脸数据妖娆 编辑:程序博客网 时间:2024/05/16 16:22
一,下载Maven
 从Apache Maven项目的web站点下载Maven:http://maven.apache.org/download.html.
 
二,安装Maven。
 将下载来的压缩包,解压到C:\Program Files\apache-maven-3.0.5目录下。
 然后设置环境变量:
 M2_HOME : C:\Program Files\apache-maven-3.0.5
 PATH : 在已有的PATH值后面添加 ";%M2_HOME%\bin"  

 或者在命令行中执行如下代码:
 C:> set M2_HOME=C:\Program Files\apache-maven-3.0.5
 C:> set PATH=%PATH%;%M2_HOME%\bin
 
三,验证Maven的安装
C:>mvn -v
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 22:51:
28+0900)
Maven home: C:\Program Files\apache-maven-3.0.5
Java version: 1.7.0_09, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_09\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"

四,Maven Archetype插件的了解
  archeType是一个maven插件,它的主要功能是根据模板来创建工程结构
  创建工程结构:
  1,创建工程目录
  2,输入命令:mvn archetype:generate
  3,选择需要的archetype
  4,按Enter去选择默认选项
  5,输入下面信息
    Define value for property 'groupId': : com.companyname.insurance (唯一标识)
    Define value for property 'artifactId': : health  (工程名称)
    Define value for property 'version': 1.0-SNAPSHOT:
    Define value for property 'package': com.companyname.insurance

  也可以直接使用如下命令,创建一个项目。
  C:>mvn archetype:create -DgroupId=com.companyname.insurance -DartifactId=health -DpackageName=com.companyname.insurance
    
五,mvn常用的命令
 1. mvn compile 编译源代码
 2. mvn test-compile 编译测试代码
 3. mvn test 运行测试
 5. mvn package 打包,根据pom.xml打成war或jar
 如果pom.xml中设置 war,则此命令相当于mvn war:war
 如果pom.xml中设置 jar,则此命令相当于mvn jar:jar
 6. mvn -Dtest package 打包但不测试。完整命令为:mvn -D maven.test.skip=true package
 7. mvn install 在本地Repository中安装jar
 8. mvn clean 清除产生的项目
 9. mvn eclipse:eclipse 生成eclipse项目
 10.mvn idea:idea 生成idea项目
 11.mvn eclipse:clean 清除eclipse的一些系统设置
 一般使用情况是这样,
 1、通过cvs或svn下载代码到本机
 2、执行mvn eclipse:eclipse生成ecllipse项目文件
 3、然后导入到eclipse就行了
 4、修改代码后执行mvn compile或mvn test检验

六,Maven的配置文件(settings.xml)
  settings.xml对于maven来说相当于全局性的配置,用于所有的项目
  maven2中存在两个 settings.xml,一个位于maven2的安装目录conf下面,作为全局性配置。
  对于团队设置,保持一致的定义是关键,所以 maven2/conf下面的settings.xml就作为团队共同的配置文件。保证所有的团队成员都拥有相同的配置。
  当然对于每个成员,都需要特殊的 自定义设置,如用户信息,所以另外一个settings.xml就作为本地配置。默认的位置为:${user.dir} /.m2/settings.xml目录中
<settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository />
<interactiveMode />
<usePluginRegistry />
<offline />
<pluginGroups />
<servers />
<mirrors />
<proxies />
<profiles />
<activeProfiles />
</settings>
setting.xml文件中各个项目的意思:
1. localRepository:表示本地库的保存位置,也就是maven2主要的jar保存位置,默认在${user.dir}/.m2/repository,如果需要另外设置,就换成其他的路径。
2. offline:如果不想每次编译,都去查找远程中心库,那就设置为true。当然前提是你已经下载了必须的依赖包。
3. Servers:distributionManagement元素定义了开发库。
4. Mirrors:表示镜像库,指定库的镜像,用于增加其他库
5. Proxies:此设置,主要用于无法直接访问中心的库用户配置。
6. Profiles:类似于pom.xml中的profile元素,主要包括activation,repositories,pluginRepositories 和properties元素
7. repositories 和pluginRepositories:定义其他开发库和插件开发库。
    
七,Maven的配置文件(pom.xml)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>groupid</groupId>
<artifactId>artifactid</artifactId>
<version>1.2.3</version>
<packaging>jar</packaging>

<name>artifactid</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
基本内容:pom.xml定义了最小的maven2元素,允许groupId,artifactId,version。所有需要的元素
•groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为:/org/codehaus/mojo 
•artifactId: 项目的通用名称 
•version:项目的版本 
•packaging: 打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, par 
•classifier: 分类 

POM关系: 主要为依赖,继承,合成










    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
原创粉丝点击