zoukankan      html  css  js  c++  java
  • maven系列笔记(安装、下载jar、搭建私服)

    1,首先到http://maven.apache.org/download.html 下载合适的Maven版本,我下载的是Maven 2.0.9 (zip)。
     
    2,解压文件到你想安装的目录,我的是F:\apache-maven-2.0.9。
     
    3,在环境变量的用户变量中增加名为M2_HOME,值为F:\apache-maven-2.0.9的变量,注意在目录F:\apache-maven-2.0.9的最后不要加\,即不能为F:\apache-maven-2.0.9\。同时添加名为M2,值为%M2_HOME%\bin的环境变量。在环境变量path的值中加入%M2%.
     
    4,控制台运行mvn -version,显示如下信息,则maven基本安装完成
     
     
    一篇菜鸟级入门文章 
    http://fluagen.blog.51cto.com /146595/40086 
     
     
    资料参考: 
    http://maven.apache.org/guides/g ... n-five-minutes.html 
    http://maven.apache.org/guides/getting-started/index.html
     
     
    maven配置参考
    配置文件一般为settings.xml,在apache-maven-2.0.9中的路径为apache-maven-2.0.9\conf\settings.xml
    下面是相关配置片段:
     
    用于指定在本地仓储的路径(就是你打算存放jar包等资源的地方)
     
    Xml代码  

    <localRepository>H:\nepo\apache-maven-2.0.9\m2_repo</localRepository>  

    Xml代码  

    <localRepository>H:\nepo\apache-maven-2.0.9\m2_repo</localRepository>  

     
     
    用于配置代理,非必要情况下可以不设置
    Xml代码  
     <proxies>  
       <proxy>  
          <active>true</active>  
          <protocol>http</protocol>  
          <host>proxy.somewhere.com</host>  
          <port>8080</port>  
          <username>proxyuser</username>  
          <password>somepassword</password>  
          <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>  
        </proxy>  
      </proxies>  
    Xml代码  
     <proxies>  
       <proxy>  
          <active>true</active>  
          <protocol>http</protocol>  
          <host>proxy.somewhere.com</host>  
          <port>8080</port>  
          <username>proxyuser</username>  
          <password>somepassword</password>  
          <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>  
        </proxy>  
      </proxies>  
     
     
    安全部署设置,对仓储中的资源的下载做出下载授权限制
    Xml代码  
      <servers>  
        <server>  
          <id>repo1</id>  
          <username>repouser</username>  
          <!-- other optional elements:  
            <password>my_login_password</password>  
            <privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)  
            <passphrase>my_key_passphrase</passphrase>  
          -->  
        </server>  
      ...  
      </servers>  
    Xml代码  
      <servers>  
        <server>  
          <id>repo1</id>  
          <username>repouser</username>  
          <!-- other optional elements:  
            <password>my_login_password</password>  
            <privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)  
            <passphrase>my_key_passphrase</passphrase>  
          -->  
        </server>  
      ...  
      </servers>  
     
     
    用于自定义一个仓储,而不使用互联网上的(可以使用这个建立一个公司共用的jar仓储,方便管理)
    Xml代码  
    <mirror>  
    <!--This sends everything else to /public -->  
            <id>nexus</id>  
            <mirrorOf>*</mirrorOf>  
            <url>http://192.168.1.165:8081/nexus/content/groups/public</url>  
    </mirror>  
    Xml代码  
    <mirror>  
    <!--This sends everything else to /public -->  
            <id>nexus</id>  
            <mirrorOf>*</mirrorOf>  
            <url>http://192.168.1.165:8081/nexus/content/groups/public</url>  
    </mirror>  
     
     
    备注:
    1:这是一个互联网仓储的镜像,可以选择一个作为自己的仓储镜像http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories
     
     
    制作企业内部的maven私服
    传奇&私服大家应该都听过,一个网吧自己搞个私服,一伙人免费在上面砍杀。官方因此少赚了很多钱,因此总想打击。而 maven 官方却对自建私服很是支持,我们总算可以正正当当搞把私服了( Springside 的老大江南白衣就是创建私服的好手)。我们就来介绍下自建私服的最快方法。  
     
    首先需要一个 http server ,找台服务器装上 apache 就行。放一个空的 maven 目录到 htdocs 下,假设服务器 ip 为 192.168.0.1 ,确认能用  http://192.168.0.1/maven   访问到。然后在自己机器上装好 maven2 ,初始化好项目(架构者应该会自行创建,普通开发员一般从服务区check out得到),在 pom.xml 放入需要的 jar 定义,运行如 mvn eclipse:eclipse(必须在项目路径下执行此命令 ) 就自动从官方下载 jar 到本地,如果不做配置,默认本地 repository 为 ${user.home}/.m2/ 。对于 windows xp 来说一般在 C:\Documents and Settings\ % username%\.m2 下,其中% username %为操作系统登录用户名。这时你可以看到 ${user.home}/.m2/ 下多了个 repository 目录,里面有很多的项目相关 jar ,目录按 groupId/ artifactId/version 排好。把 repository 目录整个拷贝到 apache 服务器的 maven 目录下,如果需要官方缺少的 jar 或公司内部 jar ,仿照这个目录结构,做好 jar 放到 maven 目录下。自建私服成功!  
     
    要使用私服,只需修改 pom.xml ,在 repository 配置后加上:
     
    Xml代码  
    <repository>   
          <id>companyName</id>   
          <url>http:// ${ip}/maven</url>   
    </repository>   
    Xml代码  
    <repository>   
          <id>companyName</id>   
          <url>http:// ${ip}/maven</url>   
    </repository>   
     
     
    这样需要下载 jar 时,会先到本地 repository 查看,没有下载过再到官方搜索,没有找到再到后面的 repository 查找。
     
    做私服网上都推荐使用nexus,不过我没试过,大家有空可以试试
     
    一些不错的中文参考文章:
    http://www.wujianrong.com/archives/2006/12/maven_3.html 
    http://www.wujianrong.com/archives/2006/07/maven.html 
    http://www.wujianrong.com/archives/2006/12/maven20.html 
    http://www.wujianrong.com/archives/2006/12/_maven.html
     
     
    如果仓储中不存在需要的包,可以自行下载并安装
    现在,如何处理那些麻烦的Sun的jar包和那些需要但却不能在远程存储库中找到的jar包了?我们必须使用Maven来手动将这些jar包安装到本地的存储库中。不用担心,这没有听上去那么困难。为了做个示例,我们将安装Java Activation框架的jar包。首先我们必须从Sun的站点上下载此jar包,接着我们使用Maven将它导入本地的存储库中。您自己也可以按照 Maven上传资源指南中的指导将缺少的jar包安装到Ibiblio中。
    Cmd代码  
    mvn install:install-file -Dfile=activation.jar  
    -DgroupId=javax.activation -DartifactId=activation  
    -Dversion=1.0 -Dpackaging=jar  
    Cmd代码  
    mvn install:install-file -Dfile=activation.jar  
    -DgroupId=javax.activation -DartifactId=activation  
    -Dversion=1.0 -Dpackaging=jar  
     例如我在本机上下在一个ant-1.6.5.jar,然后运行如下命令
    Cmd代码  

    h:\apache-maven-2.0.9\bin\mvn install:install-file -Dfile=ant-1.6.5.jar -DgroupId=ant_project -DartifactId=ant -Dversion=1.6.5 -Dpackaging=jar  

    Cmd代码  

    h:\apache-maven-2.0.9\bin\mvn install:install-file -Dfile=ant-1.6.5.jar -DgroupId=ant_project -DartifactId=ant -Dversion=1.6.5 -Dpackaging=jar  

     就会在本地仓储F:\Documents and Settings\Administrator\.m2\repository中出现如下文件F:\Documents and Settings\Administrator\.m2\repository\ant_project\ant\1.6.5\ant-1.6.5.jar
     
    这样我们就可以在项目中使用仓储中的这个jar包了
    maven命令补充说明
    4.maven命令  
     
    在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的构成。  
     
    Options:可选的参数。比如前面提到的-version , -h等。  
     
    Goal(s): 表示maven构建的“目标”。比如前面的  
     

    mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app  

     
    其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。  
     
    还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。  
     
    Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。  
     
    比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。  
     
    maven定义的生命周期中主要的相位如下:  
    validate: 验证项目是否正确以及相关信息是否可用。  
    compile: 编译。  
    test: 通过junit进行单元测试。  
    package: 根据事先指定的格式(比如jar),进行打包。  
    integration-test: 部署到运行环境中,准备进行集成测试。  
    verify: 对包进行有效性性和质量检查。  
    install: 安装到本地代码库。  
    deploy: 在集成或发布环境,将包发布到远程代码库。  
    在“默认”的生命周期之外,还有两个“阶段”:  
     
    clean: 清除以前的构建物。  
    site: 生成项目文档。  
    阶段实际上是通过目标的组合实现的。  
     
    5.组合命令  
     
    可以通过对目标及相位的组合使得一个命令完成多个功能,比如:  
     

    mvn clean dependency:copy-dependencies package  

     
    相当于按顺序执行  
     
    mvn clean  
     
    mvn dependency:copy-dependencies  
     
    mvn package  
     
    到这里,对maven应该有一个初步的印象并能上手使用了吧?更多的内容可以查阅相关的文档。
     
     
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/vc_asp/archive/2009/02/24/3931942.aspx
  • 相关阅读:
    PAT查找题---1032 挖掘机技术哪家强 (20分)
    PAT查找题---1028 人口普查 (20分)
    PAT查找题---1004 成绩排名 (20分)
    01_1JAVA简介
    01考试简介
    shell时间变量拼接问题
    如何将oracle查询的结果传输给变量
    生产环境邮件问题总结
    mutt+msmtp做linux邮件客户端
    linux配置邮件客户端
  • 原文地址:https://www.cnblogs.com/huapox/p/3251537.html
Copyright © 2011-2022 走看看