MAVEN简介

maven安装与配置(02开发工具maven环境安装与入门)(1)

MAVEN是一个项目管理工具,这里的项目是指对项目的构建过程进行管理

项目的构建过程:是项目从编写源代码到编译、测试、打包、运行、部署的完整过程

比如:

1、如何组织代码,java代码放哪,配置文件放......

2、用到的jar包去哪里找等等......

3、如何打包部署......

它有两大功能:jar包的依赖管理和项目的一键构建

MAVEN安装

在百度找到maven官网

maven安装与配置(02开发工具maven环境安装与入门)(2)

找到下载包

maven安装与配置(02开发工具maven环境安装与入门)(3)

自动下载

maven安装与配置(02开发工具maven环境安装与入门)(4)

我在电脑上找个空目录,我是在D盘建了个work文件夹,里边建立了一个code文件夹,并把下载的maven包复制过来,解压

maven安装与配置(02开发工具maven环境安装与入门)(5)

解压后可以删除压缩包

maven安装与配置(02开发工具maven环境安装与入门)(6)

MAVEN配置

找到settings.xml配置文件

maven安装与配置(02开发工具maven环境安装与入门)(7)

新建一行配置,用来存放网上下载的jar包

maven安装与配置(02开发工具maven环境安装与入门)(8)

我们在新建一个repo文件夹

maven安装与配置(02开发工具maven环境安装与入门)(9)

配置环境变量

maven安装与配置(02开发工具maven环境安装与入门)(10)

配置启动命令

maven安装与配置(02开发工具maven环境安装与入门)(11)

测试正常

maven安装与配置(02开发工具maven环境安装与入门)(12)

MAVEN私服

私服的意义

私服就是公司私自使用的服务器,每个程序员的机器中都有一个本地的maven仓库,pom.xml中的依赖坐标先去本地仓库找jar包,如果没有就会在网络上的中央仓库找,但很多公司都不提供外网给项目组人员,就不能使用maven访问远程的仓库地址,怎么办?

有时候会使用到公司内部的一些开发包,如公司的基础平台类jar包,显然把这些包放在外部是不合适的,而且这些内部的基础平台项目可能也在不断的更新。

公司在局域网里找一台有外网权限的机器,搭建nexus私服服务器,在私服上面有个maven仓库,开发人员连到这台私服上找jar包而不是去中央仓库,这样的话就可以通过这台搭建了nexus私服的电脑访问maven的远程仓库,这样不仅可以解决以上的问题,同时也节省了公司的网络带宽

maven安装与配置(02开发工具maven环境安装与入门)(13)

好处:

1、解决开发人员不能上外网时无法下载jar包的问题

2、不需要翻墙

3、局域网内完成下载,节省了公司的网络带宽

公共的共用代码可以上传到服务器供其它人使用

使用场景如下:

maven安装与配置(02开发工具maven环境安装与入门)(14)

下载安装私服

前提条件必须有jdk和java_home环境变量

https://www.sonatype.com/oss-thank-you-win64.zip

maven安装与配置(02开发工具maven环境安装与入门)(15)

将压缩包解压到一个非空非中文的目录

maven安装与配置(02开发工具maven环境安装与入门)(16)

管理员权限进入命令行

maven安装与配置(02开发工具maven环境安装与入门)(17)

进入nexus的bin目录,运行安装命令(意思是加到服务里)

nexus install

maven安装与配置(02开发工具maven环境安装与入门)(18)

在计算机后台可以看到增加了一个nexus服务,是已停止状态

maven安装与配置(02开发工具maven环境安装与入门)(19)

如果想要卸载也很简单,运行如下命令:nexus uninstall

maven安装与配置(02开发工具maven环境安装与入门)(20)

启动私服

还是在bin目录下运行nexus start 启动稍慢,如果启动不看看jdk正常不

maven安装与配置(02开发工具maven环境安装与入门)(21)

服务已经启动

maven安装与配置(02开发工具maven环境安装与入门)(22)

私服管理控制台

打开配置文件看看控制台的地址

maven安装与配置(02开发工具maven环境安装与入门)(23)

访问:http://localhost:8081/nexus

点击右上角“log in”

输入username:admin 和Password:admin123登录

maven安装与配置(02开发工具maven环境安装与入门)(24)

我们只看repositories里

maven安装与配置(02开发工具maven环境安装与入门)(25)

有7个仓库,分为4种类型

Hosted:表示本地仓库(宿主仓库),可以将jar包上传该仓库

Snapshots:开发版本的仓库,存放测试中的jar包,公司和项目组自己开发的测试版本

Releases:正式版本的仓库,存放测试完成并没有问题的jar包,正式发布版本更加严格

3rd party:表示第三方仓库,放置的是互联网中没有的jar包的坐标,可以自己上传jar包,因为一些版权问题,不允许存在于中央仓库中,比如oracle的jdbc驱动包(classe12.jar),受到商业版权的限制

Proxy:表示代理仓库,只能从互联网中获取jar包,不能自己上传

Central:maven团队的中央仓库

Apache Snapshots:apache公司自己的开源jar

Group:表示仓库组,用来合并多个仓库到一起

Public Repositories:公共的仓库,将多个仓库合并到一起,通过一个地址提供jar包下载

Virtual 虚拟老仓库的镜像

我们其实只用Public Repositories公共的仓库即可

maven安装与配置(02开发工具maven环境安装与入门)(26)

私服配置

1、在你的Maven Home路径上一层,找到conf/settings.xml,为方便我把这个文件里的注释都删除了

maven安装与配置(02开发工具maven环境安装与入门)(27)

2、先要在Maven软件里把私服的地址配置上,让maven别去中央仓库下载而是先到私服找jar包,在settings.xml的<profiles>中增加:

<profile>

<id>dev</id>

<repositories>

<repository>

<!--仓库id,可以配置多个仓库要保证id不重复-->

<id>nexus</id>

<!--仓库地址,也就是我们私服的仓库组地址-->

<url>http://私服ip:8081/nexus/content/groups/public/</url>

<!--是否下载releases版本的jar-->

<releases>

<enabled>true</enabled>

</releases>

<!--是否下载snapshots版本的jar-->

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<!--插件仓库,maven运行时的命令依赖的插件jar包,也从私服下载-->

<pluginRepository>

<id>public</id>

<url>http://私服ip:8081/nexus/content/groups/public/</url>

</pluginRepository>

</pluginRepositories>

</profile>

在</settings>前增加

<!-- 激活profiles -->

<activeProfiles>

<activeProfile>dev</activeProfile>

</activeProfiles>

3、添加阿里云私服地址

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

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

<mirrorOf>central</mirrorOf>

</mirror>

maven安装与配置(02开发工具maven环境安装与入门)(28)

验证配置是否成功

在命令行执行如下命令 mvn help:effective-settings 。

1、无报错,表明 setting.xml 文件格式没问题。

2、并且从私服下载了jar包

maven安装与配置(02开发工具maven环境安装与入门)(29)

阿里云私服

以上是我们自己用ecs搭建的私服服务器,实际上我们都不需要这么干,阿里云里的云效里已经免费给我们提供了私服的使用

开通云效

maven安装与配置(02开发工具maven环境安装与入门)(30)

maven安装与配置(02开发工具maven环境安装与入门)(31)

新增企业

maven安装与配置(02开发工具maven环境安装与入门)(32)

maven安装与配置(02开发工具maven环境安装与入门)(33)

开通私有仓库

maven安装与配置(02开发工具maven环境安装与入门)(34)

maven安装与配置(02开发工具maven环境安装与入门)(35)

maven安装与配置(02开发工具maven环境安装与入门)(36)

配置私服

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

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

<mirrorOf>central</mirrorOf>

</mirror>

添加server配置,在servers节点内

<server>

<id>rdc-releases</id>

<username>4rSI*W</username>

<password>rKf3ECni*7</password>

</server>

<server>

<id>rdc-snapshots</id>

<username>4rSI*W</username>

<password>rKf3ECni*7</password>

</server>

maven安装与配置(02开发工具maven环境安装与入门)(37)

添加profile

<profile>

<id>rdc-private-repo</id>

<repositories>

<repository>

<!--仓库id,可以配置多个仓库要保证id不重复-->

<id>rdc-releases</id>

<!--仓库地址,也就是我们私服的仓库组地址-->

<url>https://repo.rdc.aliyun.com/repository/29**0-release-Xy77jx/</url>

</repository>

<repository>

<!--仓库id,可以配置多个仓库要保证id不重复-->

<id>rdc-snapshots</id>

<!--仓库地址,也就是我们私服的仓库组地址-->

<url>https://repo.rdc.aliyun.com/repository/29**0-snapshot-xnpB4B/</url>

</repository>

</repositories>

</profile>

激活配置

添加activeProfile

<activeProfile>rdc-private-repo</activeProfile>

maven安装与配置(02开发工具maven环境安装与入门)(38)

,