maven 安装_从0开始学JAVA之《Maven安装与配置》

13c535b7bce20fe648960f879c912006.png
本文是以初学者角度记录学习JAVA过程,无指导之意,如有错误,请各位大神不吝指教。
希望能够通过文章编写监督自我上进,与初学者共勉!!!

在介绍 Maven安装与配置之前,我们应该先搞明白Maven是啥东西?Maven能为我们做什么?

1,概述

Maven是一个构建工具,服务与构建,使用Maven配置好项目后,输入简单的命令,如 :mvn clean install ,Maven会帮我们处理那些繁琐的工具。

Maven会帮我们标准化构建过程,所有的项目都是简单一致的

Maven是跨平台的,最大化的消除了构建的重复

总结:

Maven是一个构建工具,不仅能帮助我们自动化构建,还能抽象构建过程,提供构建任务实现

Maven还是一个依赖管理工具和项目信息管理工具,他提供了中央仓库,能够帮我们自动下载构建。

Maven的中央仓库 分为本地仓库和远程仓库,统一管理Jar包,有效解决多人开发项目时,Jar包的一致性。

Maven提供了帮助管理、构建、文档、报告、依赖、发布、scms、分发的方法,可方便的编译代码,进行依赖管理。

2,安装

下载地址

Maven - Download Apache Maven​maven.apache.org

需要准备环境

JDK

Intellij IDEA

Maven

选择最新版本安装文件

b79158cf5dbc7c13262a725a8ef8035a.png

将文件解压到D:Program FilesApachemaven目录下:

4d041d0a37538d67cfa7d3665b0b4754.png

新建环境变量MAVEN_HOME,赋值D:Program FilesApachemaven

b3129f3a78a7fd0071cd65fcd0769474.png

编辑环境变量Path,追加%MAVEN_HOME%bin;

f1799853ba040e11e431b8d9e4a5fb51.png

至此,maven已经完成了安装,我们可以通过DOS命令检查一下我们是否安装成功:

2c13da9d350e574ac0d8772a719249b3.png

Maven安装参考:https://www.cnblogs.com/eagle6688/p/7838224.html

3,配置

本地仓库

1, 在D:Program FilesApache目录下新建maven-repository文件夹,该目录用作maven的本地库。

2,打开D:Program FilesApachemavenconfsettings.xml文件(Maven配置文件),查找下面这行代码:

<localRepository>/path/to/local/repo</localRepository>

localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在3.1中创建的目录D:Program FilesApachemaven-repository。

3, localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:Users用户名.m2。

当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。

此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。

4,运行一下DOS命令

mvn help:system

如果前面的配置成功,那么D:Program FilesApachemaven-repository会出现一些文件。

远程仓库

在很多默认情况下,默认的中央仓库无法满足项目需求,可能项目需要的构建存在于另外一个远程仓库中,如JBosss的Maven仓库,配置如下:

<project>
...
 <repositories>
 <repository>
 <id>jboss</id>
 <name>JBoss Repository</name>
 <url>http://repository.jboss.com/maven2/</url>
 <replease>
 <enabled>true</enabled>
 </replease>
 <snapshots>
 <enabled>false</enabled>
 </snapshots>
 <layout>default</layout>
 </repository>
 </repositories>
...
</project>

在repositories元素下,可以使用repository子元素声明一个或者多个仓库

该例中声明了一个jd为jboss,名称为JBoss Repository的仓库

任何一个仓库声明的id必须是唯一的,尤其需要注意的是,Maven字段的中央仓库使用的id为central

如果其他的仓库声明也使用该id,就会覆盖中央仓库的配置。该配置中的url值指向了仓库的地址,一般来说,该地址都基于http协议,Maven用户都可以在浏览器中打开仓库地址浏览构件。

该例配置中的releases和snapshots元素比较重要

他们用来控制Maven对于发布版构件和快照版构件的下载。这里需要注意的是enabled子元素,该例中releases的enabled值为true,表示开启JBoss仓库的发布版本下载支持,而snapshots的enabled值为false,表示关闭JBoss仓库的快照版本的下载支持。因此,根据该配置,Maven只会从JBoss仓库下载发布版的构件,而不会下载快照版的构件。该例中的layout元素值default表示仓库的布局是Maven2 及Maven 3的默认布局,而不是Maven 1的布局。

对于releases和snapshots来说,除了enabled,他们还包含另外两个子元素updatePolicy和checksumPolicy:

<snapshots>
 <enabled>true</enabled>
 <updatePolicy>daily</updatePolicy>
 <checksumPolicy>ignore</checksumPolicy>
</snapshots>

元素updatePolicy用来配置Maven从远程仓库检查更新的频率,默认的值是daily,表示Maven每天检查一次。其他可用的值包括:never——从不检查更新;always——每次构建都检查更新;interval:X——每隔X分重检查一次更新(X为任意整数)。

元素checksumPolicy用来配置Maven检查检验和文件的策略。当构件被部署到Maven仓库中时,会同时部署对应的校验和文件。在下载构件的时候,Maven会验证校验和文件,如果校验和验证失败,怎么办?当checksumPolicy的值为默认的warn时,Maven会在执行构建时输出警告信息,其他可用的值包括:fail-Maven遇到校验和错误就让构建失败;ignore-使Maven完全忽略校验和错误。

远程仓库的认证

大部分远程仓库无需认证就可以访问,但有时候出于安全方面的考虑,我们需要提供认证信息才能访问一些远程仓库。例如,组织内部有一个Maven仓库服务器,该服务器为每个项目都提供独立的Maven仓库,为了防止非法的仓库访问,管理员为每个仓库提供了一组用户名及密码。这时,为了能让Maven访问仓库内容,就需要配置认证信息。

配置认证信息和配置仓库信息不同,仓库信息可以直接配置在POM文件中,但是认证信息必须配置在settings.xml文件中,这是因为POM往往是被提交到代码仓库中供所有成员访问的,而settings.xml一般只放在本机。因此,在settings.xml中配置认证信息更为安全。假设需要为一个id为my-proj的仓库配置认证信息,编辑settings.xml文件如下所示。

<settings>
...
 <servers>
 <server>
 <id>my-proj</id>
 <username>repo-user</username>
 <password>repo-pwd</password>
 </server>
 </servers>
...
</settings>

Maven使用settings.xml文件中并不显而易见的servers元素及其子元素配置仓库认证信息。上面中该仓库的认证用户名为repo-user,认证密码为repo-pwd。这里的关键是id元素,settings.xml中server元素的id必须与POM中需要认证的repository元素的id完全一致。换句话说,正是这个id将认证信息与仓库配置联系在了一起。

发布至远程仓库

私服的一大作用是部署第三方构件,包括组织内部生成的构件以及一些无法从外部仓库直接获取的构件。无论是日常开发中生成的构件,还是正式版本发布的构件,都需要部署到仓库中,供其他团队成员使用

Maven除了能对项目进行编译、测试、打包之外,还能将项目生成的构建部署到仓库中。首先,需要编译项目的pom.xml文件。配置distributionManagement元素见下面。

<project>
...
 <distributionManagement>
 <repository>
 <id>proj-releases</id>
 <name>Proj Release Repository</name>
 <url>http://192.168.1.100/content/repositories/proj-releases</url>
 </repository>
 <snapshotRepository>
 <id>proj-snapshots</id>
 <name>Proj Snapshot Repository</name>
 <url>http://192.168.1.100/content/repositories/proj-snapshots</url>
 </snapshotRepository>
 </distributionManagement>
...
</project>

distributionManagement包含repository和snapshotRepository子元素,前者表示发布版本构建的仓库,后者表示快照版本的仓库。这两个元素下都需要配置id、name和url,id为该远程仓库的唯一标识,name是为了方便人阅读,关键的url表示该仓库的地址。

往远程仓库部署构件的时候,往往需要认证。需要在settings.xml中创建一个server元素,其id与仓库的id匹配,并配置正确的认证信息。不论从远程仓库下载构件,还是部署构件至远程仓库,当需要认证的时候,配置的方式是一样的。

配置正确后,在命令行运行mvn clean deploy,Maven就会将项目构建输出的构件部署到配置对应的远程仓库,如果项目当前的版本是快照版本,则部署到快照版本仓库地址,否则就部署到发布版本仓库地址。

远程配置参考:https://blog.csdn.net/en_joker/article/details/84024884

4,Intellij IDEA配置Maven

打开 Intellij IDEA>File>Setting 打开设置

cd19f96e617b96e1e9d97b4a03f26928.png

搜索maven 点击maven在右侧选择

d2c1e0db69efa0e7cf6f0d786da05b0b.png

maven 选择

1、maven安装在电脑的目录。

2、maven安装目录conf文件夹下的settings.xml。

3、 maven的中心仓库,该仓库是2中settings.xml 中配置的。本地中心仓库

799ff42fb901bf03b30616c5f32318fc.png

点击 Maven home directory 后面的... 找到本地的maven即可。点击确认 配置完成。

99dbf3e7095d948398cf20dceca6a75f.png

5,创建Maven项目

1、 新建project,选择maven项目,勾选“Create from archetype”,选择相应的jdk以及webapp,进行下一步。

d5a536e559d52cde4e734f60de527dfe.png

2、设置项目名称以及版本。这边需要填写组织名称、项目名称以及版本号,版本号可以默认。

184471d6137fee96aa737716d6fa4c32.png

3、设置maven。这边一般不选择IDEA自带的maven,一般下载最新版的maven以及本地配置自己的仓库路径,最好是在maven中配置相应的阿里云镜像等。

76b7d1fc5cffa43ccf45da355d4ccbcf.png

4、设置参数,加快jar包下载速度。

e5b7dbdd40568f243d8e6844cf585681.png

如果没有配置这个参数,在maven生成骨架的时候将会非常慢,有时候直接卡住。archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了所以导致很慢,指定internal来表示仅使用内部元数据。

参考文章:https://blog.csdn.net/lxw983520/article/details/85686285

下一步,项目名称和项目位置信息,点击Finish完成

93ff56603612c7339730836374cae9aa.png

6,运行项目

bea19d15ed33fc6407249e9354eb416e.png

配置本地Tomcat运行

项目新建成功后,需要配置容器运行项目。这边选择tomcat进行项目启动,本地需要下载相应的tomcat。

9162a904b8089f4aca82761233b11d6d.png

b8b933bfe942e7e3817f989533fd867e.png

9dca23e57ae71b1845f8e6b922e3f2fb.png

配置启动环境。这边选择Artifacts,并且选择war exploded。

9b2c31286b7108bcfabe8405e70e133e.png

完成配置,启动项目

c371a521b5a36bd388a0bf64adacaffc.png

6e001e479ae69790c7e92adaf6039990.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值