zoukankan      html  css  js  c++  java
  • 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 Filesapache-maven-3.0.3
    Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
    Java home: C:Program FilesJavajdk1.6.0_45jre
    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 Filesapache-maven-3.0.3conf下的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%orgstrutsstruts1.2.9struts-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的使用,兴许有待深入。


  • 相关阅读:
    设计模式第四篇-工厂模式
    设计模式第三篇-装饰者模式
    设计模式第二篇-观察者模式
    设计模式第一篇-策略模式
    一元多项式的加/减法运算
    圆桌问题
    求有序序列的交集(链表)
    悲剧文本
    求序列的交集(链表)
    集合的操作
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6807874.html
Copyright © 2011-2022 走看看