Centos6.5 下 Maven 安装

一、Maven简介

  • Maven 是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具

  • Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长

  • Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。

二、常见 Bug

用maven做项目,最郁闷的莫过于某些依赖库下载不了。被墙了,你懂的。使用maven镜像仓库及其重要,特别是国内的镜像,可以有效缓解被墙疼痛。

同时,会经常会遇到以下问题:

[ERROR] Failed to execute goal on project …: Could not resolve dependencies for project …: The following artifacts could not be resolved: com.smart:smart-framework:jar:1.0, …: Failure to find com.smart:smart-framework:jar:1.0 in http://maven.oschina.net/content/groups/public/ was cached in the local repository, resolution will not be reattempted until the update interval of osc has elapsed or updates are forced -> [Help 1]

目前 OSC Maven 已经将所有第三方 jar 包放到了独立的仓库中,该仓库的地址如下:

http://maven.oschina.net/content/repositories/thirdparty/

为了防止与中央仓库同步时导致冲突,目前 thirdparty 仓库与 public 仓库没有任何交集了,也就是说它们是完全独立的,public 不再包括 thirdparty。

这里笔者推荐有兴趣的读者可以参考 开源中国 Maven 库使用帮助。

三、安装步骤

  • 下载 Maven
    首先到 Maven 官网 http://maven.apache.org/download.cgi 下载 Maven 软件,这里下载的是 bin 版本。或者去笔者的博客资源里下载 (笔者使用的是这个)

  • 解压 Maven到 /home/hadoop/software 目录下

cd /home/hadoop/software
tar -zxvf apache-maven-3.2.1-bin.tar.gz
  • 修改配置 Maven
export M2=/home/hadoop/software/apache-maven-3.2.1
export PATH=${PATH}:$M2/bin
  • 检验 Maven 是否安装成功
mvn -version

显示如下即安装成功:

Centos6.5 下 Maven 安装_第1张图片

注意事项:

1. 注意Maven版本文件
Hadoop 2.2.0的源码与Maven 3.x存在兼容性问题,所以会出现java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter

2. MAVEN国内镜像配置
由于maven国外服务器可能连不上,先给maven配置一下国内镜像,在maven目录下,conf/settings.xml,在里添加,原本的不要动,(本人在原有的基础上直接修改,也成功)

<mirror>
    <id>nexus-osc</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexusosc</name>
    <url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
<mirror>
    <id>osc_thirdparty</id>
    <mirrorOf>thirdparty</mirrorOf>
    <url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>

同样,在内新添加:

<profile>
    <id>jdk-1.4</id>
    <activation>
        <jdk>1.4</jdk>
    </activation>
    <repositories>
        <repository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</profile>

以上代码,本人均直接复制替换原有的代码,可以将原有代码备份!

3.复制配置

  • 将该配置文件复制到用户目录,使得每次对maven创建时,都采用该配置
  • 查看用户目录【/home/hadoop】是否存在【.m2】文件夹,如没有,则创建
cd /home/hadoop/
mkdir .m2
  • 复制文件
cp /home/hadoop/software/apache-maven-3.2.1/conf/settings.xml   ~/.m2/

四、Maven添加其他镜像地址

如果上述的镜像无法满足您的需求,那么以下这些镜像地址,可以考虑以下,至少笔者使用上面的镜像已经足够了

1. 国外镜像:biblio.org


<mirror>
  <id>ibiblio</id>  
  <mirrorOf>central</mirrorOf>  
  <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>  
  <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>

2. 国外镜像:jboss

<mirror>
    <id>jboss-public-repository-group</id>
    <mirrorOf>central</mirrorOf>
    <name>JBoss Public Repository Group</name>
    <url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>

3.国外镜像:repo2

<mirror>
  <id>repo2</id>
  <mirrorOf>central</mirrorOf>
  <name>Human Readable Name for this Mirror.</name>
  <url>http://repo2.maven.org/maven2/</url>
</mirror>

4.国外镜像: uk.maven.org

<mirror>
  <id>uk</id>
  <mirrorOf>central</mirrorOf>
  <name>Human Readable Name for this Mirror.</name>
  <url>http://uk.maven.org/maven2/</url>
</mirror>

5. 国内镜像:oschina.net

<mirror>
  <id>nexus-osc</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus osc</name>
  <url>http://maven.oschina.net/content/groups/public/</url>
</mirror>

6. net.cn

<mirror>
    <id>net-cn</id>
    <mirrorOf>central</mirrorOf>
    <name>Human Readable Name for this Mirror.</name>
    <url>http://maven.net.cn/content/groups/public/</url>   
</mirror>

参考的是:使用maven镜像:http://www.waylau.com/use-maven-mirrors/?utm_source=tuicool&utm_medium=referral

开源中国整理的 Maven镜像站点收集:

<mirror>
    <id>UK</id>
    <name>UK Central</name>
    <url>http://uk.maven.org/maven2</url>
    <mirrorOf>central</mirrorOf>
</mirror>

<mirror>
    <id>sonatype</id>
    <name>sonatype Central</name>
    <url>http://repository.sonatype.org/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

五、知识扩展

  • 开源中国 Maven 库使用帮助

  • 使用 OSC Maven 第三方仓库

  • 对 Mahout 感兴趣可以查看Apache Maven Project 官网介绍——Maven in 5 Minutes,相当的详细…,就是说好的 5min 呢 ?

  • 在编译过程中,若发现各种错误。不妨到官网Errors and Solutions上寻找下答案吧

  • 其他介绍如 Maven POM、POM文件介绍 貌似讲的都还不错哈~ 只是我还没看… -_-!

你可能感兴趣的:(Centos6.5 下 Maven 安装)