Win7下 maven3.1.1的安装步骤+maven配置本地仓库

简单讲下maven的安装步骤:

1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量。

2.下载maven3,最新版本是Maven3.1.1 ,下载地址:http://maven.apache.org/download.html   

   下载apache-maven-3.1.1-bin.zip文件后,并解压到  D:\maven\apache-maven-3.1.1

3.配置maven3的环境变量:先配置M2_HOME的环境变量,新建一个系统变量:M2_HOME , 路径是:D:\cloud_cms\maven\apache-maven-3.1.1,如图所示:


再配置path环境变量,在path值的末尾添加"%M2_HOME%\bin",如下图所示;


5.点击确定之后,打开cmd窗口:输入 mvn -version,出现如下内容表示安装成功。




maven添加本地仓库


1.打开本地存放maven目录(或者maven安装目录,我的安装目录是:D:\cloud_cms\maven\apache-maven-3.1.1,这里没多大影响,我只是不同的项目有不同的仓库):

比如我的本地存放目录是:D:\Util\maven\apache-maven-3.1.1

2.打开conf文件夹下的settings.xml文件,找到第53行,把注释去掉,修改成:

<localRepository>D:/Util/maven/maven-dependcies</localRepository>

当然了,前提是在某个路径下,手动建立了一个名为 maven-dependcies的文件夹,然后把本地仓库指向该路径。

Maven工程在命令行正常在开发工具下出错的问题

因为某些文件需要在Windows下才能看,不得已回到Windows下来逛一圈。

因为系统的不同,某些常识性的蛋疼问题总是不断。比如今天一个Maven的错误就折腾了我不少时间。

在项目中添加了一个依赖的jar包后,发现不管怎么弄就是下载不到依赖的jar,修改Maven配置文件settings.xml添加第三库依旧无效,但是在nexus直接查询却是有的。

重新引入了一下maven依赖后,见下图,发现项目中所有的jar都找不到了,连项目中多模块的实体类都出错。

image

但是奇怪的是在命令行下直接打maven命令正常,idea中就是不行,以为跟上次一样maven版本问题,先后降了几个版本尝试,错误依旧。

最后在无意中设置了一下maven的本地库文件夹,居然正常了(以前从来没有设置过,都是走默认):

image

这样看来是本地库文件夹的问题了,打开settings.xml,发现是这样设置的:

   
   
  1. <!-- localRepository
  2. | The path to the local repository maven will use to store artifacts.
  3. |
  4. | Default: ~/.m2/repository-->
  5. <localRepository>~/.m2/repository</localRepository>

这是直接从Linux中拷贝过来的,在我的主观意识中认为这应该就是在当前用户的用户文件夹下,可是windows却不这样认为,将目录改成绝对路径:

   
   
  1. <localRepository>C:/Users/liyd/.m2/repository</localRepository>

一切正常了,折腾我半天的原因居然是这个!!

发现在项目文件夹中,有一个“~”文件夹,没错,走到这里来了,这里面就是.m2目录。看来windows不会把~当成用户home,而是认为在当前路径下有个文件夹为~。

可是为什么我用户目录下也会有.m2文件夹了,命令行正确难道命令行走的是这个?看来是目录引用有偏差导致。

顺便说一下,最新版的idea(14.1.1)已经支持maven 3.1.1了,但是JDK必须要1.7以上才行,不然会报出如下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:254)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

maven 3.1.1以下才支持JDK1.6。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值