Maven配置教程

article/2025/9/23 12:18:33

Maven配置

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven 的配置却让一些初学者望而却步,这里我就把Maven的详细配置过程写下,希望能对你有所帮助。

文章目录

  • Maven配置
    • Maven的下载
    • Maven常用配置
      • 1. 环境变量配置
      • 2. 修改配置文件
        • 1. 本地仓库位置修改
        • 2. 修改maven默认的JDK版本
        • 3. 添加国内镜像源
    • 常用IDE下配置Maven
      • IDEA下配置Maven
      • Eclipse下配置Maven
    • 附:完整的Settings.xml文件

Maven的下载

  1. 在Maven的官网即可下载,点击访问Apache Maven。

  1. 下载后解压即可,解压后目录结构如下:

Maven常用配置

在配置之前请将JDK安装好。

1. 环境变量配置

  1. 添加M2_HOME:对应Maven的解压目录即可。

  1. 编辑Path环境变量:

  1. 测试,在cmd窗口输入mvn -v查看

显示如下即配置成功:

2. 修改配置文件

通常我们需要修改解压目录下conf/settings.xml文件,这样可以更好的适合我们的使用。

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

文章最后附上我的整个Settings.xml文件配置。

1. 本地仓库位置修改

在<localRepository>标签内添加自己的本地位置路径

  <!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--><localRepository>D:\tools\repository</localRepository>

2. 修改maven默认的JDK版本

在<profiles>标签下添加一个<profile>标签,修改maven默认的JDK版本。

<profile>     <id>JDK-1.8</id>       <activation>       <activeByDefault>true</activeByDefault>       <jdk>1.8</jdk>       </activation>       <properties>       <maven.compiler.source>1.8</maven.compiler.source>       <maven.compiler.target>1.8</maven.compiler.target>       <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>       </properties>       
</profile>

3. 添加国内镜像源

添加<mirrors>标签下<mirror>,添加国内镜像源,这样下载jar包速度很快。默认的中央仓库有时候甚至连接不通。一般使用阿里云镜像库即可。这里我就都加上了,Maven会默认从这几个开始下载,没有的话就会去中央仓库了。

<!-- 阿里云仓库 -->
<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror><!-- 中央仓库1 -->
<mirror><id>repo1</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo1.maven.org/maven2/</url>
</mirror><!-- 中央仓库2 -->
<mirror><id>repo2</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo2.maven.org/maven2/</url>
</mirror>

常用IDE下配置Maven

目前常用的开发工具如idea,eclipse都自身集成了一个版本的Maven。但是通常我们使用自己已经配置好的Maven。

IDEA下配置Maven

1:此处修改为自己解压的Maven目录

2:勾选Override,修改为自己目录下的settings.xml目录

3:修改为自己的本地仓库地址,一般会自动识别。

此处勾选,当修改pom文件时,Maven就能帮我们自动导包了。

Eclipse下配置Maven

  1. 将eclipse使用的Maven修改为自己的。点击add后选择自己Maven的安装目录即可。添加好之后记得勾选。

  1. 将所有的settings修改为自己Maven目录下的conf/settings.xml.点击Update Settings按钮,下面的Local Respository会自动识别出来。


附:完整的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 athttp://www.apache.org/licenses/LICENSE-2.0Unless 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>--><localRepository>D:\tools\repository</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>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror><!-- 中央仓库1 --><mirror><id>repo1</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo1.maven.org/maven2/</url></mirror><!-- 中央仓库2 --><mirror><id>repo2</id><mirrorOf>central</mirrorOf><name>Human Readable Name for this Mirror.</name><url>http://repo2.maven.org/maven2/</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><!-- 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>--><profile>     <id>JDK-1.8</id>       <activation>       <activeByDefault>true</activeByDefault>       <jdk>1.8</jdk>       </activation>       <properties>       <maven.compiler.source>1.8</maven.compiler.source>       <maven.compiler.target>1.8</maven.compiler.target>       <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>       </properties>       </profile></profiles><!-- activeProfiles| List of profiles that are active for all builds.|<activeProfiles><activeProfile>alwaysActiveProfile</activeProfile><activeProfile>anotherAlwaysActiveProfile</activeProfile></activeProfiles>-->
</settings>

至此Maven配置结束,尽情使用吧!–霍英俊


http://chatgpt.dhexx.cn/article/H9Saq8VM.shtml

相关文章

maven详细配置教程

以后会更好 文章目录 ①.maven下载②.maven配置②①.maven环境变量配置②①.maven配置文件 ③.IDEA配置maven④.Eclipse配置maven ①.maven下载 maven下载官网&#xff1a;点击 点击进去官网&#xff0c;点击Download 往下拉找到这个 点击下载&#xff0c;下载好后&#xf…

maven安装及配置

maven安装及配置&#xff08;详细版&#xff09; 1.下载&#xff1a; 可以从官方下载&#xff0c;下载页面&#xff1a;http://maven.apache.org/download.cgi 2.安装&#xff1a; maven压缩包解压到一个没有中文&#xff0c;空格或其他特殊字符的文件夹内即可使用。 3.…

Maven环境配置

文章目录 一、官网下载maven二、配置环境变量三、settings.xml中配置阿里云镜像四、settings.xml中配置本地仓库五、创建一个MavenWeb项目六、创建一个普通Maven项目七、pom.xml八、总结 一、官网下载maven maven官网点此进入 任选一个下载&#xff0c;下载完成以后解压到一个…

Maven安装与配置(详细步骤)

本篇博文记录了Maven环境安装与配置的详细步骤&#xff0c;旨在为将来再次配置Maven时提供指导方法。 一、下载Maven并解压 1. Maven官网下载地址&#xff1a;http://maven.apache.org/download.cgi 截止目前&#xff0c;Maven的最新版为3.6.3&#xff0c;如无特殊需要&…

Maven配置

Maven配置 本文将主要讲述Maven的环境配置以及本地仓库配置、阿里镜像和idea配置。 一、安装Maven核心 在使用Maven之前需要安装Maven的核心程序以及本地仓库的必要设置&#xff0c;大致流程如下&#xff1a; 检查 JAVA_HOME 环境变量解压Maven核心程序配置Maven的环境变量…

MAVEN的安装与配置教程(超详细版)

前言&#xff1a;在MAVEN的安装和配置开始之前&#xff0c;先给大家介绍一下MAVEN。 1.MAVEN的认识 1.1什么是MAVEN? Maven是一个项目构建及管理工具&#xff0c;开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置&#xff0c; Maven 使用了一个标准的目录结构在不…

maven配置详解

下载地址&#xff1a;Maven – Download Apache Maven&#xff0c; 添加环境变量&#xff1a;MAVEN_HOME 一、配置文件 maven的配置文件主要有 settings.xml 和pom.xml 两个文件。 1.其中在maven安装目录&#xff0c;例如apache-maven-3.8.1\conf目录下的settings.xml 文件是…

Maven配置(IDEA配置)

目录 Maven配置IDEA配置配置Tomcat聚合开发 1、Maven配置 &#x1f373;、下载maven 官方&#xff1a;http://maven.apache.org/download.html &#x1f373;、解压即用&#xff0c;直接解压到指定目录 &#x1f373;、配置环境变量跟Java一样 主要配置M_HOME环境变量&#…

Maven安装和配置详细教程

一、安装Maven 1.官网下载 Binary是可执行版本&#xff0c;已经编译好可以直接使用。 Source是源代码版本&#xff0c;需要自己编译成可执行软件才可使用。 tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是同样的,只是压缩格式不同 tar.gz格式的文件比zip文件小很…

数据库左连接和右连接有什么区别!

大家好我是艺霏&#xff0c;今天和大家谈一下数据库左连接和右连接有什么区别&#xff1f; 数据库中的左连接和右连接的区别可以概括为一句话来表示即左连接where只影响右表&#xff0c;右连接where只影响到左表 image.png 在这里推荐一个MySQL方面的教程 数据库中的左连接(…

左右连接和内外连接

左连接 select 列1,列2,列N from tableA left join tableB on tableA.列 tableB.列(正常是一个外键列) [此处表连接成一张大表&#xff0c;完全当成一张普通表看] where,having,group by …照常写。 右连接 select 列1,列2,列N from tableA right join tableB on ta…

秋招被问mysql左连接和右连接的区别?

hello我是辰兮&#xff0c;最近项目常常和mysql打交道&#xff0c;让我想起来我去年秋招的一到面试题&#xff0c;整理分享出来&#xff0c;菜是原罪&#xff0c;不过一起进步吧&#xff01; 去年秋招面试官就问我&#xff1a;数据库左连接和右连接有什么区别&#xff1f; 基…

mysql左连接区别_Mysql----左连接、右连接、内连接、全连接的区别

最近,突然想起来数据库有好些时间没用到,所以,想把数据库有关的知识回顾一下,所以接下来这个月,基本上会以数据库的帖子来写为主,首先,很多同学都会有个错觉,觉得学习数据库会sql语句的增删改查就够了,其实,这仅仅是片面的认知,掌握了这些还远远不够,sql是你作为谋求…

内连接,左右连接的区别

内连接&#xff0c;左右连接的区别 通过Mysql数据库实际操作演示&#xff0c;来展示该三者的区别。数据库版本&#xff1a;mysql Ver 8.0.19 先创建两个表test1和test2 sql语句&#xff1a; CREATE TABLE test1 (a_id int(11) DEFAULT NULL,a_name varchar(10) DEFAULT NUL…

数据库中的左连接和右连接的区别

数据库中的左连接和右连接的区别 今天&#xff0c;别人问我一个问题&#xff1a;数据库中的左连接和右连接有什么区别&#xff1f;如果有A&#xff0c;B两张表&#xff0c;A表有3条数据&#xff0c;B表有4条数据&#xff0c;通过左连接和右连接&#xff0c;查询出的数据条数最少…

mysql左连接和右连接_MYSQL 左连接与右连接

一、 LEFT JOIN LEFT JOIN 关键字从左表(table1)返回所有的行&#xff0c;即使右表(table2)中没有匹配。如果右表中没有匹配&#xff0c;则结果为 NULL。 语法&#xff1a; SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_nametable2.column_name; 举例…

mysql 左连接与右连接的区别吗_数据库左连接和右连接有什么区别

数据库中的左连接和右连接的区别可以概括为一句话来表示即左连接where只影响右表,右连接where只影响到左表 【推荐课程:MySQL教程】 数据库中的左连接(left join)和右连接(right join)区别 左连接(Left Join)select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID 左连…

左连接与右连接比较

目录 右外连接和左外连接有什么区别 左连接如何工作 右连接的工作原理 外连接比较 右连接比较 左连接比较 右外连接和左外连接有什么区别 欢迎回来。在本课中&#xff0c;我们将学习右连接和左连接之间的区别。 左外连接和右外连接的区别与表位置有关。left和right指的…

数据库中的左连接和右连接

1、两张表的内容为&#xff1a; 2、左连接&#xff08;Left Join&#xff09;&#xff1a;只影响右表中的内容&#xff0c;结构集为左表的内容右表中与左表相匹配的内容。 也就是表明左链接是以关键字左边的表为主&#xff0c;在加上右表与左表相匹配的内容。 第一种&#xf…

C# combox

添加项 代码写选种哪一项 如何在下拉项中插入一个项