windows安装maven

项目名称

运维培训

文件名称

windows安装maven

编制部门

后台运维

作者

刘珂

当前版本

201807170945

受众范围

后台运维

文档控制

修改记录

日期

版本

修改类型

修改主要内容

作者

◆修改类型:A增加、B删除、C修改

审阅人

姓名

部门

职位

审阅签字

审阅时间

存档

存档时间

存放方式

存放地点、位置

备注

◆存放方式:A电子、B纸质

目录

1 介绍 1

2 安装 3

3 配置 4

3.1 Maven本地资源库 4

3.2 Maven配置文件 5

3.3 2.Maven镜像 5

  1. 介绍

做java开发时会用到很多第三方jar,这些jar可以通过手动下载然后复制到项目类路径如lib目录使用,也可以通过maven来自动下载依赖的jar,只需要在maven项目的pom.xml配置文件中增加配置即可。

示例中引用了junit、logback、h2等第三方类库:

  1. 安装

首先需要JDK的支持:

Maven3.2版本需要JDK1.6的支持,Maven3.3及以上需要JDK1.7及以上的支持。

安装包下载:

http://maven.apache.org/download.cgi。

安装:

即解压。之后,记录下路径,在系统环境变量中添加 M2_HOME 和 MAVEN_HOME,在PATH中添加%M2_HOME%\bin;%MAVEN_HOME%bin;

验证是否安装成功,在cmd输入命令mvn -version验证。

若是出现版本的信息,表示安装成功了。

  1. 配置
    1. Maven本地资源库

Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。当建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库。

Maven的本地资源库默认为用户主目录下的 .m2 目录:

Unix 为 ~/.m2/repository

Windows 为 C:\Users\{your-username}.m2\repository

{MAVEN_HOME}\conf\setting.xml

localRepository项,可以设置我们想要存放仓库文件的目录位置。

默认是在user.home下的

改为你想放的位置如:

当你建立一个 Maven 类型的项目时,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。

首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – http://repo1.maven.org/maven2/ 查找下载。

若是中央存储库也没有找到,还可以在pom.xml中自定义远程存储库,Maven会去远程存储库下载,例如:告诉 Maven 来获得 Java.net 的依赖,你需要在 pom.xml 文件声明远程仓库:

java\.nethttps://maven\.java\.net/content/repositories/public/

另外由于maven中心库是国外网站,连接下载速度很是揪心,所以强烈推荐使用一些速度快的国内镜像库,如下配置是阿里云的:

<?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">

<localRepository>/data/repository</localRepository>

<profiles>

<profile>

<id>nexus</id>

<properties>

<maven\.compiler\.source>1\.8</maven\.compiler\.source>

<maven\.compiler\.target>1\.8</maven\.compiler\.target>

<maven\.compiler\.compilerVersion>1\.8</maven\.compiler\.compilerVersion>

</properties>

<repositories>

<repository>

<id>nexus</id>

<url>http://maven\.aliyun\.com/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

<updatePolicy>always</updatePolicy>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<pluginRepository>

<id>nexus</id>

<url>http://maven\.aliyun\.com/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

<updatePolicy>always</updatePolicy>

</snapshots>

</pluginRepository>

</pluginRepositories>



</profiles>

<activeProfiles>

<activeProfile>nexus</activeProfile>

</activeProfiles>

</settings>

如下是公司内部:192.168.40.64maven私服的

<profile>

    <id>nexus</id>

    <properties>

        <maven\.compiler\.source>1\.8</maven\.compiler\.source>

        <maven\.compiler\.target>1\.8</maven\.compiler\.target>

        <maven\.compiler\.compilerVersion>1\.8</maven\.compiler\.compilerVersion>

    </properties>

    <repositories>

        <repository>

            <id>nexus</id>

            <url>http://192\.168\.40\.64:8081/nexus/content/groups/public/</url>

            <releases>

                <enabled>true</enabled>

            </releases>

            <snapshots>

                <enabled>true</enabled>

                <updatePolicy>always</updatePolicy>

            </snapshots>

        </repository>

    </repositories>

    <pluginRepositories>

        <pluginRepository>

            <id>nexus</id>

            <url>http://192\.168\.40\.64:8081/nexus/content/groups/public/</url>

            <releases>

                <enabled>true</enabled>

            </releases>

            <snapshots>

                <enabled>true</enabled>

                <updatePolicy>always</updatePolicy>

            </snapshots>

        </pluginRepository>

    </pluginRepositories>

</profile>