`
bugyun
  • 浏览: 556179 次
社区版块
存档分类
最新评论

配置Apache Maven 3.6.1[转]

    博客分类:
  • Java
 
阅读更多

转:https://blog.csdn.net/ashleyjun/article/details/101106810

 

1.安装

当我们要使用某个工具的时候,大家首先想到的肯定是去官网download对吧?很好!

今天刚开始学习Spring Boot,要用到Apache Maven,二话不说先百度Apache Maven,成功进入到官网download页面点我呀~~

 

只找到3.6.2版本,所以就下了,接着就解压配置…到后面终于还是挂了

报错:

 

2019-09-20 21:38:56,305 [ 351757] ERROR - #org.jetbrains.idea.maven - com.google.inject.CreationException: Unable to create injector, see the following errors:

 

No implementation for org.apache.maven.model.path.PathTranslator was bound.

while locating org.apache.maven.model.path.PathTranslator

for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown Source)

at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

No implementation for org.apache.maven.model.path.UrlNormalizer was bound.

while locating org.apache.maven.model.path.UrlNormalizer

for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown Source)

at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

2 errors

java.lang.RuntimeException: com.google.inject.CreationException: Unable to create injector, see the following errors:

 

No implementation for org.apache.maven.model.path.PathTranslator was bound.

while locating org.apache.maven.model.path.PathTranslator

for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.pathTranslator(Unknown Source)

at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

 

No implementation for org.apache.maven.model.path.UrlNormalizer was bound.

while locating org.apache.maven.model.path.UrlNormalizer

for field at org.apache.maven.model.interpolation.AbstractStringBasedModelInterpolator.urlNormalizer(Unknown Source)

at org.codehaus.plexus.DefaultPlexusContainer$1.configure(DefaultPlexusContainer.java:350)

 

此处省略若干行。。。

 

有意思,这不是最新版吗?(说明并不是版本越新越好用!!!)搞不清楚到底是配置出问题了,还是不兼容,感觉应该是不兼容

 

所以开始入手3.6.1版本(推荐使用)

 

方式一:

链接:https://pan.baidu.com/s/1Mc30h8NEiUN-6QNLFg7jCg

提取码:bt3h

 

方式二:

https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/

下载好安装包(此处用的是方式一中的安装包),在自己电脑里边选个位置给它解压了(最好别放C盘!!!),我这里解压的目录为:

D:\Tools\apache-maven-3.6.1(配置时会用到,别解压完就找不到了哦)

 

 

配置环境变量

 

步骤:

1.右击计算机或此电脑——>点击“属性”

 

2.进入到“控制面板\所有控制面板板项\系统”界面,点击“高级系统设置”

 

3.进入到“系统属性”界面,点击“环境变量配置”

 

4.新建一个变量,变量名:M2_HOME 变量值:D:\Tools\apache-maven-3.6.1(Maven存放在本地的目录)

编辑变量PATH,在原有的变量值后面加上%M2_HOME%\bin;

 

测试是否安装成功

打开cmd,执行mvn -v命令,显示如下:(至此,表明Maven安装成功)

 

 

2.配置

在maven安装目录的conf里面有一个settings.xml文件,这个文件就是maven的全局配置文件。

 

 

注意:所有的修改一定要在注释标签外面,不然修改无效。Maven很多标签都是给的例子,都是注释掉的。

完整的settings.xml:

 

<?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.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>nexus-aliyun</id>  

    <mirrorOf>central</mirrorOf>    

    <name>Nexus aliyun</name>  

    <url>http://maven.aliyun.com/nexus/content/groups/public</url>  

</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节点-->

  <profiles>

  <profile>

            <id>jdk-1.8</id>

            <activation>

                <jdk>1.8</jdk>

            </activation>

            <repositories>

                <repository>

                    <id>nexus</id>

                    <name>local private nexus</name>

                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

                    <releases>

                        <enabled>true</enabled>

                    </releases>

                    <snapshots>

                        <enabled>false</enabled>

                    </snapshots>

                </repository>

            </repositories>

            <pluginRepositories>

                <pluginRepository>

                    <id>nexus</id>

                    <name>local private nexus</name>

                    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

                    <releases>

                        <enabled>true</enabled>

                    </releases>

                    <snapshots>

                        <enabled>false</enabled>

                    </snapshots>

                </pluginRepository>

            </pluginRepositories>

        </profile>

    <!-- 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>

 

  • 大小: 72.3 KB
分享到:
评论

相关推荐

    apache-maven-3.6.1.zip分享给需要的同学

    apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学apache...

    apache-maven-3.6.1 安装包

    通过正确配置和使用Apache Maven 3.6.1,开发者可以高效地管理项目,实现自动化构建,并确保团队之间的代码一致性。在实际开发中,结合持续集成工具(如Jenkins)和版本控制系统(如Git),Maven可以进一步提升软件...

    apache-maven-3.6.1

    apache-maven-3.6.1

    apache-maven-3.6.1.zip.zip

    总结来说,Apache Maven 3.6.1 是一个强大的Java项目构建工具,其配置文件如 `settings.xml` 用于定制仓库、代理和认证等行为。`settings-nexus.xml` 和 `settings-old.xml` 提供了特定场景下的配置,比如与Nexus...

    Maven的安装包:apache-maven-3.6.1-zip

    3. **配置环境变量**: 在系统环境变量中添加 MAVEN_HOME 变量,值设为 Maven 的安装路径,如 `C:\Program Files\apache-maven-3.6.1`。同时,将 `%MAVEN_HOME%\bin` 添加到系统环境变量的 Path 中。 **二、验证安装...

    Mac版jdk11+maven3.6.1.zip

    总结来说,"Mac版jdk11+maven3.6.1.zip"是一个包含Mac OS兼容的JDK 11和Maven 3.6.1的压缩包。JDK 11引入了模块化系统,移除了`rt.jar`和`tools.jar`,而Maven 3.6.1则提供了一套强大的自动化构建工具。正确安装和...

    安装的maven3.6.1

    在Windows上,这通常意味着添加类似`C:\Program Files\maven3.6.1\bin`的路径;在Linux或MacOS上,可能是`/usr/local/maven3.6.1/bin`。 4. **验证安装**: 在终端或命令行中输入`mvn -version`,如果正确安装,你...

    apache-maven-3.6.1.zip

    `apache-maven-3.6.1.zip` 文件是Apache Maven的3.6.1版本的压缩包,包含了完整的Maven环境和所有必要的组件,方便用户在本地安装和使用。 Maven的核心功能主要体现在以下几个方面: 1. **项目构建**:Maven通过...

    apache-maven-3.6.1-bin安装包.rar

    在这个"apache-maven-3.6.1-bin"安装包中,包含了运行Maven所需的所有组件。 该安装包的下载是为了解决从官方源下载速度慢的问题,确保用户可以快速获取到最新版本的Maven 3.6.1。解压后,你会找到以下主要组件: ...

    maven3.6.1和3.6.3安装包

    1. **解压**: 首先,你需要解压下载的`apache-maven-3.6.3-bin.zip`或`apache-maven-3.6.1-bin.zip`到你希望安装的目录。 2. **配置环境变量**: 在系统环境变量中设置`MAVEN_HOME`指向Maven的安装目录,并将`%MAVEN_...

    apache-maven-3.6.1-bin

    "apache-maven-3.6.1-bin"是Apache Maven 3.6.1版本的二进制发行包,它包含了运行Maven所需的所有文件。 在Maven 3.6.1中,主要知识点包括: 1. **项目对象模型(POM)**:POM是一个XML文件,它定义了项目的基本...

    maven 3.6.1.zip

    这个版本是Apache Maven项目的一部分,旨在帮助开发者更有效地管理他们的Java开发环境。在本文中,我们将深入探讨Maven的核心功能、配置以及如何在实际开发中使用它。 1. **Maven的基本概念** - **项目对象模型...

    apache-maven-3.6.1-bin.zip

    总之,"apache-maven-3.6.1-bin.zip"是一个包含Maven完整环境的压缩包,通过解压和配置,用户可以在本地环境中快速搭建起一个有效的Java项目构建工具。Maven的强大功能和广泛使用,使其成为了Java开发的标准构建工具...

    apache-maven-3.6.1-bin.tar.gz

    在给定的标题"apache-maven-3.6.1-bin.tar.gz"中,我们可以看出这是Maven的一个发行版本,版本号为3.6.1,且以tar.gz格式打包,这通常是Linux或Unix系统中常见的归档和压缩方式。描述中的"liunx中的maven"进一步确认...

    maven3.6.1版本

    Apache Maven 3.6.1是所有用户的最新版本和推荐版本,需要执行JDK 1.7或更高版本 - 它们仍然允许您使用工具链来构建1.3和其他JDK版本,Maven安装本身需要大约10MB,启动脚本包含在shell脚本和Windows批处理文件中。

    Mac下载apache-maven-3.6.1.zip

    需要修改conf下的文件settings.xml,第一步:找到文件settings.xml中的localRepository,另起一行为&lt;localRepository&gt;/Users/用户名/自己定义的存储本地仓库(我这边为maven-localhost) ...保存即可,maven的配置完成

    apache-maven-3.6.1.rar

    Apache Maven 3.6.1版本的发布,不仅提升了构建速度,还修复了之前版本中的一些已知问题,增强了用户体验。这个版本的Maven使得Java开发者能够更加便捷地进行项目管理,减少了手动配置的工作量,提高了开发效率。...

Global site tag (gtag.js) - Google Analytics