【项目管理和构建】——Maven下载、安装和配置(二)

目录(?)[+]

前言

在上篇博文【项目管理和构建】——Maven简介(一)中我们了解到maven是一种全新的项目构建方式,让我们的开发更加简单,高效。Maven主要做的是两件事:

  1. 统一开发规范与工具

  2. 统一管理jar包

这两件事情他都做到了,而且还做了更多的事情。Maven还可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制项目。

工欲善其事,必先利其器。咱们也来玩玩 Maven 这货吧!先得去下载一个。

准备工作

  • java开发环境(JDK)

  • maven下载地址:http://maven.apache.org/release-notes-all.html

安装

安装maven超级简单,总共分四步:

  1. 下载 Maven ,其实就是一个压缩包,解压一下

    这里写图片描述

  2. 配置一下环境变量

    有两个环境变量可以配置:

    • MAVEN_HOME = D:\maven\apache-maven-3.2.3

    • MAVEN_OPTS = -Xms128m -Xmx512m(可选)

  3. 在path变量末尾加入“%MAVEN_HOME%\bin;”。

    以上M2_HOME 是必须要配置的,如果想让 Maven 跑得更快点,可以根据自己的情况来设置 MAVEN_OPTS。
    这里写图片描述

  4. 最后,验证是否安装成功

    现在我们打开 cmd,输入:

    mvn -v

    我想您一定会看到一些信息,如下图所示:
    这里写图片描述

恭喜您,Maven 安装成功!

在使用 Maven 之前,我们必须要了解一下 Maven 到底是怎样管理 jar 包的,这就是 Maven 仓库要干的活了。

了解Maven仓库

使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,那么这些 jar 包存放在哪里呢?它们就在您的 本地仓库 中,默认地址位于 C:\Users\用户名.m2 目录下(当然也可以修改这个默认地址),下面我们就修改一下这个默认地址。

实际上我们可以将本地仓库理解“缓存”,目的是存放jar包。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。

远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。

这里写图片描述

既然 Maven 安装了,那么本地仓库也就有了,默认路径在我们C盘目录下,对于专业人士来说C盘很危险,下面我们修改一下默认配置。

配置

Maven会将下载的类库(jar包)放置到本地的一个目录下,如果想重新定义这个目录的位置就需要修改Maven本地仓库的配置:

修改文件:D:\maven\apache-maven-3.2.3\conf\setting.xml

<code class="language-xml hljs  has-numbering"><span class="hljs-tag"><<span class="hljs-title">settings</span> <span class="hljs-attribute">xmlns</span>=<span class="hljs-value">"http://maven.apache.org/SETTINGS/1.0.0"</span> <span class="hljs-attribute">xmlns:xsi</span>=<span class="hljs-value">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="hljs-attribute">xsi:schemaLocation</span>=<span class="hljs-value">"http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"</span>></span><span class="hljs-comment"><!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--></span><span class="hljs-tag"><<span class="hljs-title">localRepository</span>></span>D:\maven\repository<span class="hljs-tag"></<span class="hljs-title">localRepository</span>></span><span class="hljs-tag"></<span class="hljs-title">settings</span>></span></code><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li></ul><ul style="" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li></ul>

依据该配置,Maven就会将下载的类库保存到D:\maven\repository中。

实验一下我们刚才做的事情产生作用没有,控制台输入:

mvn help:system

如图所示效果:
这里写图片描述

如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。

总结

这么好的项目管理工具还在等什么,赶紧安装试一下吧。

下篇博文我们配置一下Eclipse,将它和maven结合,并且创建一个简单maven项目,马上送到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/351663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mapreduce 算法_MapReduce算法–顺序反转

mapreduce 算法这篇文章是介绍MapReduce算法的系列文章的另一部分&#xff0c;该书在使用MapReduce进行数据密集型文本处理中找到。 先前的文章是Local Aggregation &#xff0c; Local Aggregation PartII和创建共现矩阵 。 这次我们将讨论阶数反转模式。 顺序反转模式利用的M…

lamp mysql开启命令_mysql lamp 配置命令总结

[email protected] ~]# chown -R mysql:mysql /usr/local/mysql (注&#xff1a;更改MySQL安装目录属主&#xff0c;属组)[[email protected] mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf (注&#xff1a;复制MySQL配置文件)[[email protected] mysql-5.5.22]#…

算法复杂度分析(下):最好、最坏、平均、均摊等时间复杂度概述

细化时间复杂度分析 代码千千万&#xff0c;有些代码逻辑会很复杂&#xff0c;所以为了更细化的分析算法的复杂度&#xff0c;再复杂度分析方面引入了4个知识点&#xff1a; 1.最好情况时间复杂度&#xff08;best case time complexity&#xff09;。 2.最坏情况时间复杂度&am…

梦想成真…教学–专业的Java开发人员:工具和最佳实践

我总是喜欢分享知识。 我写博客的原因之一是分享我在软件工程师方面的知识。 创立并运行&#xff08;与几个朋友一起&#xff09;第一个 早在2003年&#xff0c; 希腊的Java用户组就是由于我们在工作中得不到足够的培训或个人开发机会&#xff0c;因此我们希望共享和重用我们作…

arachni web mysql数据库_Web安全扫描工具Arachni

Arachni是一个多功能、模块化、高性能的Ruby框架&#xff0c;旨在帮助渗透测试人员和管理员评估web应用程序的安全性。同时Arachni开源免费&#xff0c;可安装在windows、linux以及mac系统上&#xff0c;并且可导出评估报告。一、Arachni下载与启动&#xff0c;以LInux环境为例…

tomcat - 报错 No such device; No faulty members identified.

启动tomcat集群的时候出现以下报错&#xff0c;导致集群没办法启动&#xff1a; java.net.SocketException: No such device; No faulty members identified. SEVERE: Unable to start cluster. org.apache.catalina.tribes.ChannelException: java.net.SocketException: No su…

设计模式09----门面设计模式

转自&#xff1a;https://www.cnblogs.com/lthIU/p/5860607.html 针对外观模式&#xff0c;在项目开发和实际运用中十分频繁&#xff0c;但是其极易理解&#xff0c;下面就简要介绍一下。 一、概念介绍 外观模式&#xff08;Facade&#xff09;,他隐藏了系统的复杂性&#xff0…

mysql 匿名块_MySQL存储过程定义中的特性(characteristic)的含义

MySQL的存储过程蛮啰嗦的&#xff0c;与MSSQL或者Oracle的存储过程相比&#xff0c;如果没有显式指定&#xff0c;他会隐含地指定一系列特性(characteristic)的默认值来创建存储过程通常在使用图形界面工具进行存储过程编写的时候&#xff0c;图形界面工具会自动加上这部分内容…

Tomcat集群和Session共享的配置方法

Tomcat集群配置其实很简单&#xff0c;在Tomcat自带的文档中有详细的说明( /docs/cluster-howto.html )&#xff0c;只不过是英语的&#xff0c;对我这样的人来说很难懂 。 下面根据说下怎么配置吧&#xff1a; 第一步、准备工作&#xff1a; 准备几份Tomcat程序&#xff0c…

Python:GUI Tkinter

GUI编程 GUI编程&#xff08;Graphical User Interface Programming&#xff09;指的是用于创建图形用户界面的程序设计。这种界面采用图形方式显示信息&#xff0c;让用户可以通过图形化的方式与程序进行交互&#xff0c;而不是仅仅通过文本命令。GUI编程使得软件更加直观易用…

jenkins配置工程目录-启动case

1.我们在python里面编辑的脚本可以正常跑&#xff0c;但是在cmd里面跑就不行了&#xff0c;找不到自己定义的方法模块&#xff0c;这个时候我们要搞个环境变量 name : PYTHONPATH val : 工程目录路劲如&#xff1a; D:python\test 这个时候我们再次cmd运行发现可以运行了…

mrunit_使用MRUnit测试Hadoop程序

mrunit这篇文章将略微绕开使用MapReduce实现数据密集型处理中发现的模式&#xff0c;以讨论同样重要的测试。 汤姆•惠勒 &#xff08; Tom Wheeler&#xff09;在纽约2012年Strata / Hadoop World会议上参加的一次演讲给了我部分启发。 当处理大型数据集时&#xff0c;想到的并…

mysql innodb flush method_对innodb_flush_method的一点解释

官方文档描述如下&#xff1a;By default, InnoDB uses the fsync()system call to flush both the data and log files. Ifinnodb_flush_method option is set to O_DSYNC, InnoDB uses O_SYNC to open and flush thelog files, and fsync()to flush the data files. If O_DIR…

信号量、互斥体和自旋锁

一、信号量 信号量又称为信号灯&#xff0c;它是用来协调不同进程间的数据对象的&#xff0c;而最主要的应用是共享内存方式的进程间通信。本质上&#xff0c;信号量是一个计数器&#xff0c;它用来记录对某个资源&#xff08;如共享内存&#xff09;的存取状况。一般说来&…

alembic教程

安装pip install alembic步骤 1.初始化 alembic 仓库 在终端中&#xff0c; cd 到你的项目目录中&#xff0c;然后执行命令 alembic init alembic &#xff0c;创建一个名叫 alembic 的仓库。2.创建模型 class User(Base):__tablename__ userid Column(Integer,primary_keyTr…

实际的Reactor操作–检索Cloud Foundry应用程序的详细信息

CF-Java-Client是一个库&#xff0c;可通过程序访问Cloud Foundry Cloud Controller API 。 它建立在Project Reactor之上&#xff0c;它是Reactive Streams规范的实现&#xff0c;并且使用此库在Cloud Foundry环境中做一些实际的事情是一个有趣的练习。 考虑一个示例用例–给…

mysql生成app接口_Java实现app接口和Socket消息传递(10)java连接MySQL实现App登录接口...

原创&#xff1a;http://blog.csdn.net/iwanghang1.先来个Androiod端口的GIF效果图App图标大家可能没看清&#xff0c;这个是AndroidStudio3.0最新的默认App图标哦~~2.不要忘记把MySQL的jar导进来jar包放入的位置在这里&#xff1a;D:\eclipse-workspace\.metadata\.plugins\or…

centos yum安装nginx 提示 No package nginx available问题解决方法

问题原因&#xff1a; nginx位于第三方的yum源里面&#xff0c;而不在centos官方yum源里面 解决方法&#xff1a; 安装epel(Extra Packages for Enterprise Linux) a、去epel网站 http://fedoraproject.org/wiki/EPEL下载 b、我的系统是centos5.7&#xff0c;cpu是x86_64&#…

链接生成二维码图片

https://packagist.org/packages/houdunwang/qrcode转载于:https://www.cnblogs.com/pansidong/p/10247663.html

mysql pxc测试_Mysql同步机制 - PXC 压力测试 tpcc安装及使用

tpcc是针对mysql单机制定的测试标准&#xff0c;这个标准对于pxc集群来说要求太高&#xff0c;所有后面即使有些项目没有通过也不必太过在意&#xff0c;主要是压一下事务处理能力。Mysql单机虽然写入速度快&#xff0c;但相比于Mysql集群&#xff0c;单机能承受的并发能力远比…