【JavaWeb开发】Maven的安装配置方法(eclipse)

2016-7-20更新:之前将path环境变量中新增变量错写为 M2_HOME 现改为 %M2_HOME%/bin

Maven主要是用于解决jar包之间的依赖关系,比如在使用struts2框架的时候,当你引入了apache的struts2的jar包以后,jar包之间还有一个依赖关系,还需要导入其他的jar包,这个时候如果使用Maven来进行配置,那么其所依赖的jar包也就不需要你手工再去导入了。当然笔者使用Maven的时候是为了搭建SpirngMVC,这篇文章主要讲解Maven的搭建,SpringMVC会单独写博文。

第一步,下载Maven

 官网直链:https://maven.apache.org/     下载tar.gz文件或者.zip文件均可。

第二步,解压Maven

解压到本地硬盘中,建议选择系统盘或其他软件安装盘。

第三步,安装Maven

  • 配置环境变量:

    1. 新建环境变量:
      1. 变量名:M2_HOME
      2. 变量值:第二步中解压的maven路径,例如: C:\Program Files\apache-maven-3.3
    2. 编辑path环境变量:

      1. 增加一个新的变量,%M2_HOME%/bin 编辑的时候小心不要把其他的path变量值删掉
      2. 环境变量测试指令:

        • 控制台中:mvn -version
        • 显示以下类似内容即为成功:
          Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015
          7+08:00)
          Maven home: C:\Program Files\apache-maven-3.3.9
          Java version: 1.8.0_92, vendor: Oracle Corporation
          Java home: C:\Program Files\Java\jdk1.8.0_92\jre
          Default locale: zh_CN, platform encoding: GBK
          OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"

第四步,修改maven的配置文件

进入CMD控制台,依次输入下列命令:

  1. cd C:\Users\Administrator

    如果你的用户名不是默认的,这里需要把Administrator修改,这个命令的意思就是进入当前用户的文件列表中

  2. mkdir .m2

    这句指令就是在当前路径下创建一个文件夹,文件夹的名字为 .m2 注意不要漏掉这个点

  3. 将maven解压文件中的配置文件settings.xml(路径为/conf/settings.xml)文件复制到该目录中,并将其内容修改为:

    解释:其实当你运行过Maven之后是会自动在这个C:\Users\Administrator路径下生成一个.m2文件夹的,此处手动生成并且复制settings.xml文件主要是为了避免后面需要对maven进行升级而造成的麻烦。

    1. 主要修改两个地方:
      1. 第一个地方:
        这里是jar包的默认安装地址,如果不做设置,则会下载到默认的路径下,即:C:\Users\Administrator.m2\repository文件夹中
    2. 第二个地方:
      这个是镜像站,因为官方的服务器访问的人比较多,中心仓库有时候会拒绝你的访问或其他的原因往往速度会比较慢,所以官方推荐我们使用英国UK的镜像站,但是笔者亲测没有梯子也是很麻烦的一件事,所以如果没有梯子的同学可能需要去找一下镜像站的地址了,但是笔者还是建议各位开发者购买梯子来进行配置,才不会出各种各样的奇怪问题哦。
      最后附上本人使用的settings.xml文件代码,方便伸手党。(需要UK镜像站的往下找)
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
    -->
    
    <!--
     | This is the configuration file for Maven. It can be specified at two levels:
     |
     |  1. User Level. This settings.xml file provides configuration for a single user,
     |                 and is normally provided in ${user.home}/.m2/settings.xml.
     |
     |                 NOTE: This location can be overridden with the CLI option:
     |
     |                 -s /path/to/user/settings.xml
     |
     |  2. Global Level. This settings.xml file provides configuration for all Maven
     |                 users on a machine (assuming they're all using the same Maven
     |                 installation). It's normally provided in
     |                 ${maven.home}/conf/settings.xml.
     |
     |                 NOTE: This location can be overridden with the CLI option:
     |
     |                 -gs /path/to/global/settings.xml
     |
     | The sections in this sample file are intended to give you a running start at
     | getting the most out of your Maven installation. Where appropriate, the default
     | values (values used when the setting is not specified) are provided.
     |
     |-->
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ${user.home}/.m2/repository 使用默认值即可
      <localRepository>/path/to/local/repo</localRepository>
      -->
    
      <!-- interactiveMode
       | This will determine whether maven prompts you when it needs input. If set to false,
       | maven will use a sensible default value, perhaps based on some other setting, for
       | the parameter in question.
       |
       | Default: true
      <interactiveMode>true</interactiveMode>
      -->
    
      <!-- offline
       | Determines whether maven should attempt to connect to the network when executing a build.
       | This will have an effect on artifact downloads, artifact deployment, and others.
       |
       | Default: false
      <offline>false</offline>
      -->
    
      <!-- pluginGroups
       | This is a list of additional group identifiers that will be searched when resolving plugins by their prefix, i.e.
       | when invoking a command line like "mvn prefix:goal". Maven will automatically add the group identifiers
       | "org.apache.maven.plugins" and "org.codehaus.mojo" if these are not already contained in the list.
       |-->
      <pluginGroups>
        <!-- pluginGroup
         | Specifies a further group identifier to use for plugin lookup.
        <pluginGroup>com.your.plugins</pluginGroup>
        -->
      </pluginGroups>
    
      <!-- proxies
       | This is a list of proxies which can be used on this machine to connect to the network.
       | Unless otherwise specified (by system property or command-line switch), the first proxy
       | specification in this list marked as active will be used.
       |-->
      <proxies>
        <!-- proxy
         | Specification for one proxy, to be used in connecting to the network.
         |
        <proxy>
          <id>optional</id>
          <active>true</active>
          <protocol>http</protocol>
          <username>proxyuser</username>
          <password>proxypass</password>
          <host>proxy.host.net</host>
          <port>80</port>
          <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
        </proxy>
        -->
      </proxies>
    
      <!-- servers
       | This is a list of authentication profiles, keyed by the server-id used within the system.
       | Authentication profiles can be used whenever maven must make a connection to a remote server.
       |-->
      <servers>
        <!-- server
         | Specifies the authentication information to use when connecting to a particular server, identified by
         | a unique name within the system (referred to by the 'id' attribute below).
         |
         | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
         |       used together.
         |
        <server>
          <id>deploymentRepo</id>
          <username>repouser</username>
          <password>repopwd</password>
        </server>
        -->
    
        <!-- Another sample, using keys to authenticate.
        <server>
          <id>siteServer</id>
          <privateKey>/path/to/private/key</privateKey>
          <passphrase>optional; leave empty if not used.</passphrase>
        </server>
        -->
      </servers>
    
      <!-- mirrors
       | This is a list of mirrors to be used in downloading artifacts from remote repositories.
       |
       | It works like this: a POM may declare a repository to use in resolving certain artifacts.
       | However, this repository may have problems with heavy traffic at times, so people have mirrored
       | it to several places.
       |
       | That repository definition will have a unique id, so we can create a mirror reference for that
       | repository, to be used as an alternate download site. The mirror site will be the preferred
       | server for that repository.
       |-->
      <mirrors>
        <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>http://my.repository.com/repo/path</url>
        </mirror>
         -->
         <!--使用英国的镜像 官方推荐-->
         <mirror>
    
         <id>UK</id>
    
         <name>UK Central</name>
    
         <url>http://uk.maven.org/maven2</url>
    
         <mirrorOf>central</mirrorOf>
    
        </mirror>
    
    
      </mirrors>
    
      <!-- profiles
       | This is a list of profiles which can be activated in a variety of ways, and which can modify
       | the build process. Profiles provided in the settings.xml are intended to provide local machine-
       | specific paths and repository locations which allow the build to work in the local environment.
       |
       | For example, if you have an integration testing plugin - like cactus - that needs to know where
       | your Tomcat instance is installed, you can provide a variable here such that the variable is
       | dereferenced during the build process to configure the cactus plugin.
       |
       | As noted above, profiles can be activated in a variety of ways. One way - the activeProfiles
       | section of this document (settings.xml) - will be discussed later. Another way essentially
       | relies on the detection of a system property, either matching a particular value for the property,
       | or merely testing its existence. Profiles can also be activated by JDK version prefix, where a
       | value of '1.4' might activate a profile when the build is executed on a JDK version of '1.4.2_07'.
       | Finally, the list of active profiles can be specified directly from the command line.
       |
       | NOTE: For profiles defined in the settings.xml, you are restricted to specifying only artifact
       |       repositories, plugin repositories, and free-form properties to be used as configuration
       |       variables for plugins in the POM.
       |
       |-->
      <profiles>
        <!-- profile
         | Specifies a set of introductions to the build process, to be activated using one or more of the
         | mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
         | or the command line, profiles have to have an ID that is unique.
         |
         | An encouraged best practice for profile identification is to use a consistent naming convention
         | for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
         | This will make it more intuitive to understand what the set of introduced profiles is attempting
         | to accomplish, particularly when you only have a list of profile id's for debug.
         |
         | This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
        <profile>
          <id>jdk-1.4</id>
    
          <activation>
            <jdk>1.4</jdk>
          </activation>
    
          <repositories>
            <repository>
              <id>jdk14</id>
              <name>Repository for JDK 1.4 builds</name>
              <url>http://www.myhost.com/maven/jdk14</url>
              <layout>default</layout>
              <snapshotPolicy>always</snapshotPolicy>
            </repository>
          </repositories>
        </profile>
        -->
    
        <!--
         | Here is another profile, activated by the system property 'target-env' with a value of 'dev',
         | which provides a specific path to the Tomcat instance. To use this, your plugin configuration
         | might hypothetically look like:
         |
         | ...
         | <plugin>
         |   <groupId>org.myco.myplugins</groupId>
         |   <artifactId>myplugin</artifactId>
         |
         |   <configuration>
         |     <tomcatLocation>${tomcatPath}</tomcatLocation>
         |   </configuration>
         | </plugin>
         | ...
         |
         | NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
         |       anything, you could just leave off the <value/> inside the activation-property.
         |
        <profile>
          <id>env-dev</id>
    
          <activation>
            <property>
              <name>target-env</name>
              <value>dev</value>
            </property>
          </activation>
    
          <properties>
            <tomcatPath>/path/to/tomcat/instance</tomcatPath>
          </properties>
        </profile>
        -->
      </profiles>
    
      <!-- activeProfiles
       | List of profiles that are active for all builds.
       |
      <activeProfiles>
        <activeProfile>alwaysActiveProfile</activeProfile>
        <activeProfile>anotherAlwaysActiveProfile</activeProfile>
      </activeProfiles>
      -->
    </settings>

第五步,Eclipse集成Maven

  1. 下载一个合适的Eclipse版本,笔者使用的Eclipse的版本是J2EE4.6.0。如果后面在步骤中找不到maven选项的同学,请自己加载maven的插件或者选择升级Eclipse版本。
  2. 进入Eclipse中配置。

    1. 配置Maven的安装路径:Window -> Preferences -> Maven -> Installations -> 点击右侧的 Add -> 点击 Directory -> 然后选择你放置maven解压文件的路径(非常类似于Tomcat的配置哦)
    2. 配置Maven的配置文件路径:Window -> Preferences -> Maven -> User Settings -> 点击Browse并找到Maven的配置文件(settings.xml)最后确定即可

本博文整理来自于www.imooc.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值