草庐IT

Maven超细致史上最全Maven下载安装配置教学(2023更新...全版本)建议收藏...赠送IDEA配置Maven教程

神兽汤姆猫 2023-07-23 原文

Maven安装与配置

Maven 的主要目标是让开发人员能够在最短的时间内了解开发工作的完整状态。为了实现这一目标,Maven 处理了几个关注领域:

  • 简化构建过程

  • 提供统一的构建系统

  • 提供优质的项目信息

  • 鼓励更好的发展实践

基于项目对象模型 (POM,project object model) 的概念,Maven可以从中心信息块管理项目的构建、报告和文档。现在能看到的所有JavaEE项目几乎都是基于maven搭建的

Maven下载

官网:Maven官网

👉官网最新下载地址:Maven最新版本官网地址

👉官网历史下载地址:Maven历史版本官网地址 

Binary是可执行版本,已经编译好可以直接使用。 Source是源代码版本,需要自己编译成可执行软件才可使用。

Windows下安装配置Maven

将下载好的解压到自己设置的目录中(路径中不要有中文等影响环境的字符)

apache-maven-3.8.6-bin为例,在其目录内新建名为repository的文件夹,此文件夹的目的是作为本地的Maven仓库来使用。如图:

配置环境变量:

此电脑--->属性--->高级系统设置--->环境变量--->系统变量(S)--->新建

输入如下信息:

 变量名:MAVEN_HOME
 变量值:D:\Programming\Apache\Maven\apache-maven-3.8.6
     //此处的变量值为你存放Maven的解压路径
 变量名:M2_HOME
 变量值:D:\Programming\Apache\Maven\apache-maven-3.8.6\repository
     //此处的变量值为你存放Maven的解压后目录中的文件夹的路径
     //很多自动依赖的系统,如springboot、springcloud引用了该地址,建议配置上

继续执行如下步骤:

此电脑--->属性--->高级系统设置--->环境变量--->系统变量(S)--->找到Path变量--->编辑--->新建

 输入如下信息:

 %MAVEN_HOME%\bin

如图:然后点击确定即可,一直确定,直至关闭所有对话框

Maven配置阿里云等镜像:

打开Maven解压路径下的conf文件夹下的settings.xml文件,可以使用记事本或者VScode等软件打开进行编辑。

关于VScode请看此文章:VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了_神兽汤姆猫的博客-CSDN博客_vscode最新版

打开后在<mirrors></mirrors>标签中添加 mirror 子节点:(个人建议使用第一个,在有的版本可能会出现warning)

  <!-- 阿里云仓库 -->
         <mirror>
             <id>alimaven</id>
             <mirrorOf>central</mirrorOf>
             <name>aliyun maven</name>
             <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
         </mirror>
<!-- 或者:--->
      <mirror>
         <id>nexus-aliyun</id>
         <mirrorOf>*</mirrorOf>
         <name>Nexus aliyun</name>
         <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  • 虽然mirrors可以配置多个子节点,但它只会使用其中的一个节点,即默认情况下配置多个mirror的情况下,只有第一个生效,只有当前一个mirror无法连接的时候,才会去找后一个;

  • 我们想要的效果是:当a.jar在第一个mirror中不存在的时候,maven会去第二个mirror中查询下载,但是maven不会这样做,所以我们尽可能的将它添加到前面。

  • mirrors节点下可以配置多个mirror,每个mirror都有id(是mirror的唯一标识)、name、url(远程仓库地址)、mirrorsOf(代表了一个镜像的替代位置,例如central就表示代替官方的中央库),当需要去远程仓库下载jar包时不是按照位置顺序来查找的,是按钮id的字母排序来查着的,例如当配置了B和A两个mirror,无论这两个mirror的位置如何maven都会首先去A去查询,如果找到了则直接下载,如果找不到或者无法连接到A才会去B查询。 这里我们在mirrors下新建节点,使用阿里的仓库来替换默认的远程仓库

如图:

如果想使用其它代理仓库,可在<repositories></repositories>节点中加入对应的仓库使用地址。以使用spring代理仓为例:

 <repository>
     <id>spring</id>
     <url>https://maven.aliyun.com/repository/spring</url>
     <releases>
         <enabled>true</enabled>
     </releases>
     <snapshots>
         <enabled>true</enabled>
     </snapshots>
 </repository>

Maven配置JDK

打开conf文件夹下的settings.xml文件找到profiles节点,添加如下配置(根据自己的Java版本设置,我的是1.8)

     <!-- java版本 --> 
     <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>

如图:

Maven建立本地仓库:

Maven的settings.xml文件内容,本地仓库默认为${user.home}/.m2/repository,其中${user.home}代表当前用户的Home目录。

随着Java项目的增多,maven仓库内容会逐渐增多,对于Windows用户,不适合将其放在系统盘。为了便于环境管理,建议将maven仓库放在maven目录中。

这里就用到了我们之前新建的repository文件夹,repository文件夹作为maven仓库,其绝对路径为步骤2所示:D:\Programming\Apache\Maven\apache-maven-3.8.6\repository这里设置为你个人当时设置的路径)。

打开conf文件夹下的settings.xml文件,找到settings标签,在找到节点localRepository,在注释外添加在其中添加如下代码(记得将代码中路径修改为自己电脑上的本地仓库路径

 <localRepository>D:\Programming\Apache\Maven\apache-maven-3.8.6\repository</localRepository>

如图:52行中的Default: ${user.home}/.m2/repository则为默认的本地仓库路径

localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是C:\Users\用户名.m2。 当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回。如果没有则从远程仓库中获取包,并在本地库中保存。 此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。

测试Maven

运行CMD.exe---->mvn --version--->出现Maven版本信息则表明成功。
配置完成,运行CMD.exe---->mvn help:system测试,配置成功则本地仓库(D:\Programming\Apache\Maven\apache-maven-3.8.6\repository)中会出现一些文件。

首次执行 mvn help:system 命令,Maven相关工具自动帮我们到Maven中央仓库下载缺省的或者Maven中央仓库更新的各种配置文件和类库(jar包)到Maven本地仓库中。 下载完各种文件后, mvn help:system 命令会打印出所有的Java系统属性和环境变量,这些信息对我们日常的编程工作很有帮助。

IDEA配置Maven

打开IDEA会出现开始页面,进行如下操作:

点击左侧的Customize------>在界面中找到All settings...。或者是打开的项目中点击File---->Settings------>Build,Execution,Deployment----->Build Tools----->Maven

Maven home path:maven的路径地址

User setting file:用户设置的文件地址

local repository:本地存储库地址

推荐配置:设置Maven在不联网的情况下使用本地插件,一般使用Maven为我们提供好的骨架时,是需要联网的。

配置这个,在没有网络的情况下,可以正常创建工程,并从之前已经使用过的工程中找到相应的骨架。

Settings------>Build,Execution,Deployment----->Build Tools----->Maven---->Runner----->VM Optiions输入框中输入如下内容:
 -DarchetypeCatalog=internal

 如图:

老版本IDEA:

点击File----->Other Settings------>Settings for New Projects...使修改的Maven配置对新建的项目生效

新版本IDEA:

点击File----->New Projects Setup------>Settings for New Projects...使修改的Maven配置对新建的项目生效

如图:

 重启IDEA配置完成

继续查看配置🆒以防万一,如果发现配置并没有生效,因为有时候IDEA就会出现此问题。重新按照上述步骤配置即可

 如果您认真阅读至此,您现在已经掌握了Maven的安装与配置,且随着您认真练习使用次数的增加,您对Maven的掌握我相信不止于此,如果您对此软件或其他有进阶的要求,请移步至我的博客进行其余的修炼计划。

感谢您认真观看完毕此文章,如果此文章对您有帮助的话,还请您点赞、收藏、评论,这对我有很大的帮助。

有关Maven超细致史上最全Maven下载安装配置教学(2023更新...全版本)建议收藏...赠送IDEA配置Maven教程的更多相关文章

  1. ruby-on-rails - 独立 ruby​​ 脚本的配置文件 - 2

    我有一个在Linux服务器上运行的ruby​​脚本。它不使用rails或任何东西。它基本上是一个命令行ruby​​脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  4. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  5. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  6. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  7. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  8. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  9. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  10. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

随机推荐