zoukankan      html  css  js  c++  java
  • maven安装及与eclipse集成

    一、maven安装

    1,下载地址:http://maven.apache.org/download.cgi

    2,解压maven到:C:Javaapache-maven-3.5.3,目录可以随意。

    3,配置系统环境变量,M2_HOME是maven2版本以后的环境变量。

    4,追加Path变量:%M2_HOME%in

     5,验证环境变量配置

    6,设置本地仓储

    便于管理,在maven安装的同级目录新建文件夹C:Javam2 epository作为本地仓储。

    修改C:Javaapache-maven-3.5.3confsettings.xml文件 ,新增一行:

    7,如果需要修改默认的中央仓储,需要进行下面的修改。我选择默认,所以省略这一步。

    8,初始化本地仓储mvn  help:system。

    其实这一步不是必须的,只是为了验证maven能不能正常工作。这个命令是个帮助命令,意思是打印出所有Java系统变量。但是mvn运行help的时候需要用到help的plugin的jar包,还有help的相关文件,所以他就会自动的去下载这些内容到本地仓储。

    再次执行这个命令的时候,你会发现它不会再去下载东西了,而是直接打印出结果。

     本地仓储中就多了很多下载的jar包和其他内容,大小大概在10M左右。以后随着项目的运用文件会越来越多,要保证本地仓储选的磁盘有足够的空间。

     二、eclipse配置maven

    1,我们不用那个内置的maven,eclipse→windows→Preferences→Maven→Installations,添加Maven安装目录

    2,将 C:Javaapache-maven-3.5.3confsettings.xml 文件拷贝一份到 C:Javam2 epository下面作为用户配置文件,conf下面那个是全局配置文件。

    然后做如下修改。

     3,新建maven工程。

    生成了一个下面的结构。

    如果修改了pom.xml的内容,需要做下面这一步

    编译的时候有有个警告。

    原因是这个工程默认的jre是1.5的。解决办法:

    打开pom.xml文件,在Properties中加入下面两句话,然后再执行上面的maven--update project

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    OK,版本已经正确了。

     运行一下,看看结果。

    Junit测试结果。

    4,需要加载某一个包,可以通过双击pom.xml文件,然后在设计视图中,按下面的步骤,可以搜索。

    5,eclipse下查看当前配置下maven Repositories信息。

    window-->show view-->other-->maven-->maven repositories

     6,要打包程序,执行maven install。

    项目被打包到了这里

     8,默认的远程仓库是国外的,速度可能会很慢,可以配置国内的镜像,方法如下:

    这篇文章有详细解释,我直接转载:http://www.blogjava.net/fancydeepin/archive/2015/06/23/maven-mirror.html

    镜像通常可以提供比远程中央仓库更好的服务,提升构件下载的速度。

    在 settings.xml(%MAVEN_HOME%confsettings.xml)配置文件中找到 <mirrors> 节点,添加如下的配置: 

    <mirrors>
      <mirror>
        <id>ibiblio</id>
        <mirrorOf>central</mirrorOf>
        <name>mirrors repositories from central</name>
        <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
      </mirror>
    </mirrors>

    id:随意,唯一即可; name:随意,只是对镜像的一个描述; url:镜像的地址。
    mirrorOf:当 mirrorOf 与仓库的 id 匹配时(maven 默认的远程中央仓库的 id 是 central),所有远程仓库的请求都转成对该镜像配置的
    url 的请求。当一个仓库的 id 与多个镜像的 mirrorOf 同时匹配时,则优先选取与仓库 id 完全一致的镜像,如果没有,则按照镜像配置的先
    后顺序选取第一个镜像作为服务的提供者。下面几个是常见的配置 mirrorOf 的用法:
    <mirrorOf>*</mirrorOf>           匹配所有的远程仓库
    <mirrorOf>repo1,repo2</mirrorOf> 匹配 id 为 repo1 和 repo2 的远程仓库(仓库之间使用 "," 隔开)
    <mirrorOf>external:*</mirrorOf>  匹配除本地仓库之外的所有其他仓库
    <mirrorOf>*,!repo1</mirrorOf>    匹配除 repo1 之外的所有其他仓库(使用 "!" 可将仓库从匹配中排除)

    附收藏的几个镜像地址列表

    http://maven.antelink.com/content/repositories/central
    http://maven.tmatesoft.com/content/groups/public
    http://mirrors.ibiblio.org/pub/mirrors/maven2
    http://uk.maven.org/maven2

    http://maven.aliyun.com/nexus/content/groups/public

    9,如何搭建自己公司的maven代理仓储

    目前没有需求,可以暂时参考:https://blog.csdn.net/zmx729618/article/details/51566987

     10,maven的xml的配置说明

    1)profile节点 http://www.cnblogs.com/lzxianren/p/maven-profile.html

    2)修改默认的jdk版本

     https://www.cnblogs.com/bianqi/p/6819074.html

    https://blog.csdn.net/snail_spoor/article/details/53192114

    三、其他常见问题

    1,编译既存的maven项目,发现找不到依赖的jar包,但是本地仓储里面实际有。

    把本地仓储的jar包目录备份到其他的地方,然后删除本地仓储的该jar包的目录。然后用下面的命令重新添加,这个命令是将第三方的jar包导入到了本地仓库。

    mvn install:install-file -Dfile=C:Javaxxxxx-1.0.0.0.0.0.0.jar -DgroupId=cn.com.mysoft -DartifactId=mysoft -Dversion=1.0.0.0.0.0.0 -Dpackaging=jar

    这时会发现目录被重新生成,并且多出一个maven-metadata-local.xml文件。再到eclipse,发现可以正常编译了。

    添加外部第三方jar包的方法,除了上面这种,还有其他的方式,可以参考下面这篇文章。

    https://blog.csdn.net/pltuyuhong/article/details/50954017

    其他参考:

    http://maven.apache.org/guides/introduction/introduction-to-profiles.html(官网)

    http://blog.csdn.net/zhf_2016cs/article/details/77479204

    http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html#!comments

    Maven 项目构建基础(推荐) https://zhuanlan.zhihu.com/p/28371336

  • 相关阅读:
    LeetCode 842. Split Array into Fibonacci Sequence
    LeetCode 1087. Brace Expansion
    LeetCode 1219. Path with Maximum Gold
    LeetCode 1079. Letter Tile Possibilities
    LeetCode 1049. Last Stone Weight II
    LeetCode 1046. Last Stone Weight
    LeetCode 1139. Largest 1-Bordered Square
    LeetCode 764. Largest Plus Sign
    LeetCode 1105. Filling Bookcase Shelves
    LeetCode 1027. Longest Arithmetic Sequence
  • 原文地址:https://www.cnblogs.com/xiashengwang/p/8625343.html
Copyright © 2011-2022 走看看