以前的以前,听说过maven,也有幸安装过,没怎么用过,都是按照网上别人的记录照着做的,感觉好没有意思,现在我想自己弄清楚一些事情。一起来源于配置文件,和在网上多搜索多看,多实践。

我用的包是这个apache-maven-3.0.4-bin.zip

我的操作系统是win10.

下面是我觉得比较重要的几个点:


  1. maven依赖的环境变量
  2. maven自身需要设置的环境变量
  3. 如何设置本地仓库
  4. 如何指定远程的仓库
  5. 如何手动添加包

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>

如何指定远程的仓库:

  1. 通过在settings.xml文件添加相关信息



    按照被注释掉的内容添加相关信息就可以了。

  2. 通过在项目的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安装和使用前的几个点的更多相关文章

  1. Maven使用笔记(一)Maven安装及常用命令

    1.Windows下安装Maven 首先去下载Maven安装包,http://maven.apache.org/download.cgi,目前最新版本是 Maven 3.2.3 . 解压到本地,可以看 ...

  2. maven安装、配置及创建工程

    准备工作 java开发环境(JDK) maven下载地址:http://maven.apache.org/release-notes-all.html 一.安装 安装maven超级简单,总共分三步: ...

  3. Java开发环境配置(4)--Maven安装 环境变量配置,本地仓库配置---插件安装

    说明在前:本人用过的 luna  mars 等,都已经自带maven插件的了,以下有些文章是很老的,讲到maven插件的安装都可以忽略掉. maven安装eclipse在线配置maven搞定所有插件_ ...

  4. 基于Centos搭建Maven 安装与使用

    CentOS 7.2 64 位操作系统 安装 Maven Maven 简介 Apache Maven 是一个软件项目管理及自动构建工具,由 Apache 软件基金会所提供.基于项目对象模型(缩写:PO ...

  5. [maven] 实战笔记 - maven 安装配置

    1.下载地址http://maven.apache.org/download.html 2.windows下安装maven(1)下载 apache-maven-3.0-bin.zip 解压到任意目录下 ...

  6. 转载maven安装,配置,入门

    转载:http://www.cnblogs.com/dcba1112/archive/2011/05/01/2033805.html 本书代码下载 大家可以从我的网站下载本书的代码:http://ww ...

  7. 【Java】Maven安装、Eclipse配置以及相关错误解决集合

    作者呕血总结,下面写的每一个错误我都遇过 · Maven安装 · Eclipse配置 · Maven安装 安装前请确保已经装有JDK. 一. 准备Maven程序包 到官网https://maven.a ...

  8. Maven安装,配置及更改本地资源库

    安装 1.确保已安装JDK,和配置JAVA_HOME环境变量 . 注:Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上,这里安装的是 ...

  9. maven 安装后变成 mvn 不是内部命令解决方法

    1.maven的安装教程 下载地址为:http://maven.apache.org/download.cgi 进入此页面之后 点击下载,然后解压,我把目录名改为maven,目录结构如下图所示 下面我 ...

随机推荐

  1. Android 验证APK签名对比

    最近OTT制定产品,其中有一条需求是只能安装自己公司签名的APK,所以在网上找了相关资料,最后总结功能实现如下: 1.签名错误码frameworks/base/core/java/android/co ...

  2. 阿里巴巴手册之-Arrays.asList()数组转集合的问题

    转载来源:https://blog.csdn.net/qq_36443497/article/details/79663663?utm_source=blogxgwz9 在使用工具类Arrays.as ...

  3. ubuntu---yolo报错darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.

    装好darknet后,直接测试的时候,报错: darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.解决办法是打开yolov3.cfg ...

  4. bzoj4199: [Noi2015]品酒大会 (并查集 && 后缀数组)

    据说用后缀自动机 + dp也能做 然而并不会 后缀数组的做法呢 就是先建个后缀数组,求出height值,此时如果直接找,复杂度是n ^ 2的,肯定会超时. 但是height大的值是不会对小的产生影响的 ...

  5. 【C语言】已知三角形三边长,求三角形面积

    一. 数学基础: 已知三角形的三边,计算三角形面积,需要用到海伦公式: 即p=(a+b+c)/2 二. 算法: 输入三个边长,套用海伦公式计算面积,并输出. 可以先判断是否可以构成三角形,即任意两边之 ...

  6. SDP协议介绍

    一.SDP协议介绍 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP).会话初始协议(SIP).实时流协议(RTSP).MIME 扩展协 ...

  7. Java:不得不知的Object类

    目录 一.equals 1.equals与==有啥区别? 2.equals方法的规范 3.instanceof 和getClass() 4.其他总结 二.hashCode 1.hashCode的规范 ...

  8. 快速上手leetcode动态规划题

    快速上手leetcode动态规划题 我现在是初学的状态,在此来记录我的刷题过程,便于以后复习巩固. 我leetcode从动态规划开始刷,语言用的java. 一.了解动态规划 我上网查了一下动态规划,了 ...

  9. MomentJS记录下开发中用到的日期

    1.计算当前周一到周日的日期 ​​​​​​​var weekOfday = moment().format('E');//计算今天是这周第几天 var last_monday = moment().s ...

  10. 工厂方法模式(JAVA反射)

    简单工厂模式的不足     在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类.简单工厂模式最大的缺点是当有新 ...