Maven的安装、配置、命令详细教学

Maven的安装、配置、命令详细教学

为什么我们要学习 maven?

maven 还未出世的时候,我们在制作项目时有许多的不便。

1:jar 包难以寻找

2:jar 包依赖的问题

3:jar 不方便管理( 按不同的功能管理jar)

4:项目编译

Maven 简介

Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,
它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。

Maven 中的概念

Pom(Project Object Model 项目对象模型)
Maven 管理的项目的根目录下都有一个 pom.xml 文件。pom.xml 文件指示Maven 如何工作。

在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、项目依赖的 jar、插件、编译选项等。
一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构件。

项目坐标

maven 给每个 jar 定义了唯一的标志,这个在 maven 中叫做项目的坐标,通过这个坐标可以找到你需要 用到的任何版本的 jar 包。

groupId、artifactId、packaging、version 的组合被称为项目的坐标,它们形成了项目的唯一标识,

Maven通过坐标来精确定位构件。其中 groupId、artifactId、version 是必须的,且这三项的值必须唯一,

packaging 是可选的(默认为 jar)。

仓库

*仓库全球共享,先将 jar 从*仓库下载到本地仓库,然后在项目中引用本地仓库的 jar

Maven的安装、配置、命令详细教学

Maven 开发环境搭建

前提: 安装 jdk

Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅。

1 下载 maven 服务器

链接: https://pan.baidu.com/s/1EpcuXM_Xk4BfLiGp604hEg
提取码:xryy

2 安装,配置 maven

点击下载二进制的 apache-maven-3.5.2-bin.zip 进行解压,”然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version

查看版本如下图

Maven的安装、配置、命令详细教学

Maven的安装、配置、命令详细教学

配置本地仓库地址

接下来根据情况在本地磁盘中建立通过 maven 下载后 jar 文件所存储的文件夹,一般我们称为”仓库(repository)”;

最终是如何将下载的 jar 文件存储到我们指定的仓库中呢?需要在 maven 的服务器解压的文件中找到 conf 文件夹下的settings.xml 文件进行修改

如下图所示

Maven的安装、配置、命令详细教学

将图5部分进行替换

Maven的安装、配置、命令详细教学

将图5部分进行替换, 配置阿里云 maven 镜像仓库,下载速度更快

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

接下来在我们的开发工具中进行配置

Maven的安装、配置、命令详细教学

创建maven工程

Maven的安装、配置、命令详细教学
Maven的安装、配置、命令详细教学
Maven的安装、配置、命令详细教学

下载时保证网络通畅

Maven的安装、配置、命令详细教学Maven的安装、配置、命令详细教学

项目目录说明

Maven的安装、配置、命令详细教学

Pom.xml 配置

maven 仓库官网(http://mvnrepository.com/)如下图所示:在此官网就可以下载自己所需开发 jar 包,继续点击链接打开如

Maven的安装、配置、命令详细教学

例如下载 servlet jar 包
在 Pom.xml 文件配置 jar 包信息,使用 maven 自动下载 jar 包
管理 jar 之间的依赖

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
 <!--文件上传下载组件-->
    <dependencies>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
    <span class="token comment">&lt;!--配置项目依赖jar包的地址--&gt;</span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>com.google.code.gson<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span>
  <span class="token comment">&lt;!-- 构建名--&gt;</span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>gson<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span>
       <span class="token comment">&lt;!-- 版本号--&gt;</span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">&gt;</span></span>2.8.5<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">&gt;</span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span>

    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>javax.servlet<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>javax.servlet-api<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>version</span><span class="token punctuation">&gt;</span></span>3.1.0<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>version</span><span class="token punctuation">&gt;</span></span>
        <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>scope</span><span class="token punctuation">&gt;</span></span>provided<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>scope</span><span class="token punctuation">&gt;</span></span><span class="token comment">&lt;!--此jar包只是在本地测试编辑时使用,不会被打包到项目中--&gt;</span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependencies</span><span class="token punctuation">&gt;</span></span>

各个子元素功能解释

<groupId>,<artifactId>和<version>:依赖项的基本坐标
<type>:依赖项的 packaging 类型,默认是 jar;
<scope>:依赖项的作用范围,默认是 compile。各个取值及含义如下:
compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖包会被拷贝到 war 包中的 lib 目录中。
provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包。

Maven 命令

Maven的安装、配置、命令详细教学

Maven 常用命令

1. compile 编译

2. clean 删除 target

3. package 打包到本地

Maven的安装、配置、命令详细教学

4. install 把项目 install 到本地仓库

添加 jar 到 maven 仓库

开发过程有可能会用到一些 jar 包,但是这部分 jar 包在 maven 仓库中并没有存在,我们需要将其添加到我们的本地仓库中,这样也就可以使用 maven 来管理此jar 包

命令

mvn install:install-file-DgroupId=组名(com.taobao) -DartifactId=构建名(druid) -Dversion=版本(1.0) -Dpackaging=包类型(jar ) -Dfile=jar 包完整路径

在命令行执行以下命令,提示 build success 即表示安装成
Maven的安装、配置、命令详细教学
Maven的安装、配置、命令详细教学

上一篇:大三寒假学习 spark学习 RDD的依赖关系和运行过程


下一篇:jquery选择器中的基本过滤选择器中的gt属性和lt使用先后的问题