Maven安装与入门

一、什么是Maven

Apache Maven意为accumulator of knowledge,是一个软件项目管理和综合工具,可以方便的管理项目中所需的插件。

Maven的主要目标是让开发人员在最短的时间内理解开发工作的完整状态。为了实现这一目标,Maven试图处理以下几个方面的问题:

  • 使构建过程变得简单
  • 提供统一的构建系统
  • 提供优质的项目信息
  • 提供最佳实践开发指南
  • 允许快速迁移到新功能

二、安装与配置

先确保安装了JDK。
不过我觉得能知道Maven的起码是用过java开发了,所以这个应该不是问题。

注:如果使用的IDE是Eclipse,新版本的已经内置m2eclipse了,可以不需要重复安装。

2.1 Windows安装

Maven下载链接:http://maven.apache.org/download.cgi
在这里插入图片描述
下载并解压。
如下图所示,打开环境变量,在Path中添加解压后的bin文件夹到环境变量中,例如我这里是D:\installation\Eclipse\apache-maven-3.6.1\bin\。注意目录中间不要有空格。
在这里插入图片描述
然后打开命令行(cmd),输入mvn -v。如果看到例如下面这样的内容,那么说明已经添加成功了。否则检查以下环境变量是否添加的有问题。

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T21:00:29+02:00)
Maven home: /opt/apache-maven-3.6.1
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: “mac os x”, version: “10.8.5”, arch: “x86_64”, family: “mac”

2.2 Linux安装

略,见官网教程:http://maven.apache.org/install.html

2.3 一般配置

打开解压的目录的配置xml,我这里是apache-maven-3.6.1\conf\settings.xml

2.3.1 Maven本地资源库

就是maven下的插件放在哪。不配置默认的默认目录为:

  • Unix/Mac OS X – ~/.m2
  • Windows – C:\Documents and Settings{your-username}.m2

可以随便修改一个目录,改成你想放的目录,例如我这里是

  <localRepository>D:\installation\Eclipse\maven_repo</localRepository>

现在都配置文件里面自带注释和配置示例。

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

2.3.2 中央仓库和镜像仓库

Maven 中央存储库是 Maven 用来下载所有项目的依赖库的默认位置。maven找插件时,会先从本地资源库找,如果没有下载过,那么默认从中央仓库下载。但是可以考虑从位于国内都镜像仓库下载,会快一点。如果在公司内网使用且公司有自己的镜像仓库,配置成自己公司的最快。

下面是阿里云都镜像仓库。

	<mirror>
	  <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>
2.3.2.1 全局配置

上面这段内容复制到conf\settings.xml的下面的中间就可以了,其它内容是配置文件里面的注释和配置示例。

  <!-- mirrors
   | This is a list of mirrors to be used in downloading artifacts from remote repositories.
   |
   | It works like this: a POM may declare a repository to use in resolving certain artifacts.
   | However, this repository may have problems with heavy traffic at times, so people have mirrored
   | it to several places.
   |
   | That repository definition will have a unique id, so we can create a mirror reference for that
   | repository, to be used as an alternate download site. The mirror site will be the preferred
   | server for that repository.
   |-->
  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
    <mirror>
	  <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>
  </mirrors>

注:< mirrorOf>可以设置为哪个中央仓库做镜像,为名为“central”的中央仓库做镜像,写作< mirrorOf>central< /mirrorOf>;为所有中央仓库做镜像,写作< mirrorOf>< /mirrorOf>。Maven默认中央仓库的id 为 central。id是唯一的。
重要:除非你有把握,否则不建议使用< mirrorOf>
< /mirrorOf>的方式。

2.3.2.2 单项目配置

单项目配置时,需要修改pom文件。pom文件中,没有mirror元素。在pom文件中,通过覆盖默认的中央仓库的配置,实现中央仓库地址的变更。
修改项目的pom文件:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>conifg</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>

<repositories>
    <repository>
        <id>central</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <layout>default</layout>
        <!-- 是否开启发布版构件下载 -->
        <releases>
            <enabled>true</enabled>
        </releases>
        <!-- 是否开启快照版构件下载 -->
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

2.4 Eclipse配置

2.4.1 m2eclipse

现在新版本都Eclipse其实已经内置集成了Maven,是自带的m2eclipse插件。

2.4.2 apache maven

使用刚刚安装的maven插件的话,可以在windows-preferences-maven-installations中添加刚刚下的maven目录,并勾选为使用这个刚刚下的而不是内嵌的(embedded)。
在这里插入图片描述
然后重启一遍Eclipse,避免一些乱七八糟的意料之外的问题。

2.5 其它IDE配置

没配过。。。

三、Hello world

现在可以建立一个maven工程试试了。
在这里插入图片描述
一路下一步就可以了。
在这里插入图片描述
hello world就默认的quickstart项目就行。实际项目使用时,可以看下是什么类型的,然后具体研究下选哪个。
在这里插入图片描述
Group Id和Artifact Id共同构成你的项目名称,加起来表示唯一标识。然后finish就可以了。第一次可能会下个东西。如果这步之后出现异常提示,说明之前某个地方配置有问题,重新检查一下。
在这里插入图片描述
此时就新建好了一个项目
然后打开pom.xml文件,在里面添加各种maven的库就好了。
例如我们在mvn的仓库中(https://mvnrepository.com/artifact/com.google.guava/guava/28.0-jre) 可以搜索到guava的maven配置是

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>28.0-jre</version>
</dependency>

那么复制到pom.xml中保存,就会自动下载到你配置的本地资源库中,并在项目中生成一个Maven Dependencies。然后就可以使用了

效果和复制位置如下图所示:
在这里插入图片描述

编译打包见下一篇 eclipse maven 简单使用

参考资料

  1. Apache Maven官网
  2. Maven教程
  3. mvnrepository
  4. Maven之阿里云镜像仓库配置
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值