maven安装和使用前的几个点
以前的以前,听说过maven,也有幸安装过,没怎么用过,都是按照网上别人的记录照着做的,感觉好没有意思,现在我想自己弄清楚一些事情。一起来源于配置文件,和在网上多搜索多看,多实践。
我用的包是这个apache-maven-3.0.4-bin.zip
我的操作系统是win10.
下面是我觉得比较重要的几个点:
- maven依赖的环境变量
- maven自身需要设置的环境变量
- 如何设置本地仓库
- 如何指定远程的仓库
- 如何手动添加包
maven依赖的环境变量:
在脚本mvn.bat中有如下描述:
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
如果系统有JAVA_HOME环境变量就只需要把 mvn.bat所在的目录添加到PATH变量就可以了。然后在cmd中输入mvn - v就可以了:

当然完全可以在这个脚本的开头设置自己想用的JDK版本,比如我在mvn.bat文件开头设置:

然后重新打开cmd,再次执行mvn -v 效果如下:

可以看到两次的jdk版本不一样。
也就是说maven依赖的环境变量是JAVA_HOME
maven自身需要设置的环境变量:
就像JAVA_HOME之于java,M2_HOME指定了maven的安装位置。JAVA_HOME是个那些需要java环境的程序需要使用的。同样M2_HOME也是为别的程序服务,在之前我是用的idea10在构建maven项目时候,明明安装了maven(只是在PATH添加了mvn.bat所在的目录)却又提示没有设置M2_HOME。
目前我所知道的是maven自身所需要设置的是M2_HOME
如何设置本地仓库:
在maven安装目录下面的conf目录里面有配置文件settings.xml,在里面可以看到如下注释:

也就是说默认情况下当前用户目录下的.m2/repository目录,但是随着maven的使用,在网上下载的jar包会占用很多的空间,最好的办法还是把本地仓库设置在别的盘符下,而不是在C盘下。
# 我的E盘还有点空间。。。
<localRepository>E:\.m2\repository</localRepository>
如何指定远程的仓库:
通过在settings.xml文件添加相关信息

按照被注释掉的内容添加相关信息就可以了。通过在项目的pom.xml文件中添加远程仓库的信息
<project ...>
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>
</project>
如何手动添加包
Failed to execute goal on project chapter1: Could not resolve dependencies for project com.smart:chapter1:war:3.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.commons:com.springsource.org.apache.commons.logging:jar:1.1.1, fakepath:com.springsource.net.sf.cglib:jar:2.1.3: Could not find artifact org.apache.commons:com.springsource.org.apache.commons.logging:jar:1.1.1 in central (http://repo.maven.apache.org/maven2) -> [Help 1]
[ERROR]
有时候在网上down的一个别人的demo但是发现pom中指定的组件通过maven取不到了,此时可以从网上手动下载该组件,然后手动的把这个组件添加到本地仓库:
到当前组件所在的目录:
# 先安装错误提示找出缺少的jar包(com.springsource.org.apache.commons.logging-1.1.1.jar),然后定位到pom文件的dependency,找到jar包的详细信息:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.logging</artifactId>
<version>${apache.commons.version}</version>
</dependency>
# 再执行如下命令,对应位置替换即可
mvn install:install-file -Dfile=com.springsource.org.apache.commons.logging-1.1.1.jar -DgroupId=org.apache.commons -DartifactId=com.springsource.org.apache.commons.logging -Dversion=1.1.1 -Dpackaging=jar
手动安装jar到maven本地仓库的截图:

maven安装和使用前的几个点的更多相关文章
- Maven使用笔记(一)Maven安装及常用命令
1.Windows下安装Maven 首先去下载Maven安装包,http://maven.apache.org/download.cgi,目前最新版本是 Maven 3.2.3 . 解压到本地,可以看 ...
- maven安装、配置及创建工程
准备工作 java开发环境(JDK) maven下载地址:http://maven.apache.org/release-notes-all.html 一.安装 安装maven超级简单,总共分三步: ...
- Java开发环境配置(4)--Maven安装 环境变量配置,本地仓库配置---插件安装
说明在前:本人用过的 luna mars 等,都已经自带maven插件的了,以下有些文章是很老的,讲到maven插件的安装都可以忽略掉. maven安装eclipse在线配置maven搞定所有插件_ ...
- 基于Centos搭建Maven 安装与使用
CentOS 7.2 64 位操作系统 安装 Maven Maven 简介 Apache Maven 是一个软件项目管理及自动构建工具,由 Apache 软件基金会所提供.基于项目对象模型(缩写:PO ...
- [maven] 实战笔记 - maven 安装配置
1.下载地址http://maven.apache.org/download.html 2.windows下安装maven(1)下载 apache-maven-3.0-bin.zip 解压到任意目录下 ...
- 转载maven安装,配置,入门
转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...
- 【Java】Maven安装、Eclipse配置以及相关错误解决集合
作者呕血总结,下面写的每一个错误我都遇过 · Maven安装 · Eclipse配置 · Maven安装 安装前请确保已经装有JDK. 一. 准备Maven程序包 到官网https://maven.a ...
- Maven安装,配置及更改本地资源库
安装 1.确保已安装JDK,和配置JAVA_HOME环境变量 . 注:Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上,这里安装的是 ...
- maven 安装后变成 mvn 不是内部命令解决方法
1.maven的安装教程 下载地址为:http://maven.apache.org/download.cgi 进入此页面之后 点击下载,然后解压,我把目录名改为maven,目录结构如下图所示 下面我 ...
随机推荐
- DM9000C网卡驱动程序编写与测试
一般网卡驱动程序厂商会给我们提供一份模板驱动,我们的工作就是需要根据自己的需要更改这个模板驱动 1.DM9000C的硬件连接 硬件连接图如下所示:它接在S3C2440的BANK4内存控制器上,它只占用 ...
- Codeforces Round #610 (Div. 2) A-E简要题解
contest链接: https://codeforces.com/contest/1282 A. Temporarily unavailable 题意: 给一个区间L,R通有网络,有个点x,在x+r ...
- 四种常见的APP分类界面布局设计案例学习
相信各位对于APP设计,已经很熟练啦.如何在熟练的基础上提高我们界面的优美度,或者是进行APP界面的迭代设计. 重构APP设计布局是我们必须要经历的一个过程. 在之前,学习UI设计的时候,经常要接触到 ...
- 2019-08-01 纪中NOIP模拟B组
T1 [JZOJ2642] 游戏 题目描述 Alice和Bob在玩一个游戏,游戏是在一个N*N的矩阵上进行的,每个格子上都有一个正整数.当轮到Alice/Bob时,他/她可以选择最后一列或最后一行,并 ...
- 将java字节自动转为"B", "KB", "MB", "GB", "TB"等
//字节转换 public static String readableFileSize(long size) { if (size <= 0) return "0"; fi ...
- 【Python】蟒蛇绘制
来画一只你的小蛇吧! 1. 2. 3.了解turtle库 Turtle,也叫海龟渲染器,使用Turtle库画图也叫海龟作图.Turtle库是Python语言中一个很流行的绘制图像的函数库.海龟渲染器, ...
- python-excel读取-pyodbc
https://github.com/mkleehammer/pyodbc/wiki/Cursor 利用pyodbc读取数据库,流程基本一样,就是配置connect对象时有所不同,下面是excel的: ...
- IntelliJ IDEA 2017.3尚硅谷-----设置字体大小行间距
- 从相亲的角度理解 K8S 的 Node Affinity, Taints 与 Tolerations
这是昨天晚上阅读园子里的2篇 k8s 博文时产生的想法,在随笔中记录一下. 这2篇博文是 K8S调度之节点亲和性 与 K8S调度之Taints and Tolerations . 如果我们把 node ...
- sqli-libs(29(jspstudy)-31关)
Less_29 Less-29: 需要用到jspstudy跟phpstudy 搭建jspstudy: sqli-labs-master文件夹下面还有tomcat文件,这才是真正的关卡,里面的jsp ...