1、maven下载
http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.zip
2、解压配置全局变量
2.1解压下载的压缩包到本地目录
2.2添加 M2_HOME 和 MAVEN_HOME配置:
打开系统属性面板(右击“计算机”>"属性"),单击高级系统设置,再单击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录,如图:
2.3添加到环境变量 - PATH
编辑 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后,如: %M2_HOME%\bin, 这样就可以在命令中的任何目录下运行
Maven 命令了。
2.4验证全局变量配置是否生效
在命令行中输入:echo %M2_HOME%以及mvn –version或-v,出现下面这个界面,说明我们的maven已经安装成功。
3、maven私服安装
3.1私服nexus的特性
3.1.1、nexus私服实际上是一个javaEE的web 系统
3.1.2、作用:用来管理一个公司所有的jar包,实现项目jar包的版本统一
3.1.3、jar下载搜索顺序:本地仓库 --> nexus私服 ---> Maven中央库.
3.1.4、私服的搭建基本是架构师或者项目组长的职能范畴
3.2私服nexus的下载
3.2.1、下载地址:https://www.sonatype.com/download-nexus-repository-trial,选择操作系统后,点击下载即可下载nexus
3.3私服nexus的安装
3.3.1 解压nexus安装包
解压后,在解压目录中包含,nexus-3.9.0-01和sonatype-work两个文件夹
nexus-3.9.0-01:核心目录
nexus-3.9.0-01\bin:存放nexus的启动命令
sonatype-work:工作目录。
sonatype-work\nexus3\etc\nexus.properties :配置文件可更改port、host、nexus-work、runtime。
3.3.2启动nexus私服
打开cmd,一路cd到安装目录下的bin目录,输入命令:nexus /run 运行安装
注:如果出现错误:java.lang.NumberFormatException: null,则可能是jdk版本不对,或路径中带中文
3.3.3浏览器访问(http://localhost:8081)
到此配置完毕,然后,即可在本地访问Nexus,默认用户/名密码是admin/admin123,如出现下图就表示配置成功:
3.3.4基本使用
3.3.4.1、访问的仓库类型:
hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件以及自己或第三方的项目构件;
proxy 代理仓库:代理公共的远程仓库;
group 仓库组:Nexus 通过仓库组统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。
简单的说,就是你可以上传私有的项目到hosted,以及配置proxy以获取第三方的依赖(比如可以配置中央仓库的地址)。前面两个都弄好了之后,在通过group聚合给客户提供统一的访问地址。
3.3.4.2、管理本地仓库
Nexus预定义了2个本地仓库,分别是maven-releases, maven-snapshots, 分别讲一下这二个预置的仓库都是做什么用的:maven-releases:这里存放我们自己项目中发布的构建, 通常是Release版本的。
maven-snapshots:这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本。
3.3.4.4、增加本地用户
3.3.5配置私服(settings.xml)
打开nexus-3.9.0-01\system目录下的setting.xml文件
<!--设置的maven本地仓库-->
<localRepository>D:\install\maven\repository</localRepository>
<servers>
<server>
<!--这是server的id(注意不是用户登陆的id),该id与distributionManagement中repository元素的id相匹配。 -->
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<!--为仓库列表配置的下载镜像列表。 -->
<mirrors>
<mirror>
<!--该镜像的唯一标识符。id用来区分不同的mirror元素。 -->
<id>nexus</id>
<!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->
<mirrorOf>*</mirrorOf>
<name>central repository</name>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL。 -->
<url>http://192.168.10.68:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--远程仓库列表,它是Maven用来填充构建系统本地仓库所使用的一组远程项目。 -->
<repositories>
<!--发布版本仓库-->
<repository>
<id>nexus</id>
<!--地址是nexus中repository(Releases/Snapshots)中对应的地址-->
<url>http://192.168.10.68:8081/repository/maven-public/</url>
<!--true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启。 -->
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<!--激活配置-->
<activeProfiles>
<!--profile下的id-->
<activeProfile>nexus</activeProfile>
</activeProfiles>
3.3.6上传jar包到Nexus
直接上传jar(在cmd中输入下列命令:)
mvn deploy:deploy-file -DgroupId=xxx.xxx -DartifactId=xxx -Dversion=xxx -Dpackaging=jar -Dfile=D:\xxx.jar -Durl=http://xxx.xxx.xxx.xxx:8081/repository/maven-releases/ -DrepositoryId=nexus
-DgroupId 为上传的jar的groupId
-DartifactId 为上传的jar的artifactId
-Dversion 为上传的jar的需要被依赖的时候的版本号
-Dpackaging为jar
-Dfile为jar包路径
-Durl 为要上传的路径,-DrepositoryId 为repository的唯一标示,跟第3步中赋权配置的server相同
注意:-Dfile中的路径最好就在D盘的根目录D:\xxx.jar,不要D:\xxx\xxx\xxx\xxx.jar,这样可能会报错
直接将项目发布到仓库中
pom.xml中添加,和dependencies属于同一级别,在project级别下
<distributionManagement>
<repository>
<id>nexus</id>
<name>releases Repository</name>
<url>http://192.168.10.68:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
添加完后,cd到pom.xml文件目录中运行:mvn deploy即可
注:id为要上传的repository的唯一标示,url为要上传的repository的路径