首页 > 代码库 > Maven入门学习

Maven入门学习

1 Maven的安装

maven下载路径:http://maven.apache.org/download.cgi

我是在win7上安装了,安装后在cmd输入 mvn -v:

C:\Users\****>mvn -v
Apache Maven 3.0.3 (r1075438; 2011-03-01 01:31:09+0800)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_45\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

看见如上信息表示Maven已经安装好了,当然在这之前必须装好JDK。

2 Maven的应用

等你安装好Maven后,接下去的一步是要了解maven的核心概念,这样才能在使用maven的时候游刃有余。

接下来我们介绍下面这几个核心概念:

  • POM (Project Object Model)
   来看一个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>com.mycompany.helloworld</groupId> 
     <artifactId>weibo-api</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <packaging>jar</packaging> 

     <name>weibo-api</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> 
在 POM 中,groupId, artifactId,version 叫作 Maven 坐标,它能唯一的确定一个项目。有了 Maven 坐标,我们就可以用它来指定我们的项目所依赖的其他项目,插件,或者父项目。
  • Maven依赖管理
举个简单的例子,比如我要maven struts repository

就很快Baidu可以找到下面这段代码:

<dependency> 
    <groupId>struts</groupId> 
    <artifactId>struts</artifactId> 
    <version>1.2.9</version> 
</dependency> 

在pom.xml中加入上边一段代码,eclipse就会自动下载所依赖的jar包。

  • 本地库(localRepository)
下载的jar包和source需要存放在本地的文件夹,一般默认在C:\Program Files\apache-maven-3.0.3\conf下的setting.xml中配置:
<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- 本地 maven 仓库地址 -->
  <localRepository>D:\MY_Repository</localRepository>
  <pluginGroups/>
  <proxies/>
  <!-- maven 仓库用户认证信息 -->
  <servers>
	  <server>
		<id>****</id>
		<username>你的用户名</username>
		<password>密码</password>
	  </server>
	  <server>
		<id>****</id>
		<username>你的用户名</username>
		<password>密码</password>
	  </server>
	  <server>
		<id>****</id>
		<username>你的用户名</username>
		<password>密码</password>
	  </server>
	  
  </servers>
  <!-- maven 仓库本地镜像配置 -->
  <mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>nexus local repo.</name>
      <url>http://maven.****.cn/content/groups/public/</url>
    </mirror>
  </mirrors>
  
  <!-- 公司 maven 仓库服务器地址配置 -->
  <profiles>
    <profile>
		<id>myProfie</id>
		<repositories>
		  <repository>
			  <id>****</id>  
			  <name>**** Nexus Repository</name>  
			  <url>http://maven.****.cn/content</url>  
			  <releases>  
				<enabled>true</enabled>  
			  </releases>  
			  <snapshots>  
				<enabled>true</enabled>  
			  </snapshots>  
		  </repository>  
		</repositories>  
		<pluginRepositories>  
		  <pluginRepository>  
			  <id>****-nexus</id>  
			  <name>**** Nexus Repository</name>  
			  <url>http://maven.****.cn/content</url>  
			  <releases>  
				<enabled>true</enabled>  
			  </releases>  
			  <snapshots>  
				<enabled>true</enabled>  
			  </snapshots>  
		  </pluginRepository>  
		</pluginRepositories>  
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>myProfie</activeProfile>
  </activeProfiles>
  
</settings>
</span>
其中D:\MY_Repository就是本地的仓库,可以自己修改想放哪放哪!
  • 下载坐标的理解
Maven按什么规则去存放Dependency? 
下面我们来拿struts作例子,这个是hibernate的Dependency配置 
<dependency> 
    <groupId>struts</groupId> 
    <artifactId>struts</artifactId> 
    <version>1.2.9</version> 
</dependency> 
它被下载后将会被存放至 
%repository%\org\struts\struts\1.2.9\struts-1.2.9.jar 
其中%repository%就是你本地的repository目录。按你的Dependency的groupid + artifactid + version,然后以点号作分隔,来建立文件夹的,最后建立的文件夹如下 
|--org 
    |--struts
        |--struts
            |--1.2.9 
                |--struts-1.2.9.jar 
 那么我们下载的jar包就被命名为artifactId + "-" + version + ".jar"。 

初步学习Maven的使用,后续有待深入。