- 使用Windows部署Maven私服
由于博主比较懒,就把部署Maven私服的事交给Windows了,从官网下载Nexus的“安装包”,之所以给个双引号是因为它根本不需要双击安装,它其实是一个Tomcat项目,需要通过exe运行的。
Nexus到官网去下载,目前来看这个网站并没有被墙,只是打开需要花很长时间,下载的话,建议将链接复制到迅雷,不然用浏览器下载那实在是太慢了!!
官网链接为:https://www.sonatype.com/nexus-repository-oss
下载链接为:https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.16.1-02-win64.zip
下载完成是一个压缩包
解压后:
其中配置文件在etc文件夹中的nexus-default.properties中,默认端口为8081。程序本体在bin文件夹中nexus.exe,这个直接双击打开是没用的!!正确打开方式是使用“管理员模式”打开cmd,注意:没有管理员模式打开是无法安装服务的,会报错!!,进入文件夹,输入
nexus.exe /install
功能为安装nexus服务
nexus.exe /start
功能为启动服务
首次启动nexus是个非常漫长的过程,我的Ryzen 2700X都安装了好久才安装完成,需要耐心等待(至少10分钟),安装完成后,输入localhost:8081就可以进入安装完成后的nexus OSS界面
Nexus的默认管理员用户名为admin,密码为admin123
2.创建一个用户
在左侧有个帽子形状的Security->Users,创建一个用户
为了测试方便,我就使用了用户名:Test和密码123456,正式环境下千万不能这么写,非常危险!!
Status中选择Active(活跃)
Roles中赋予管理员权限
3.创建阿里云代理服务
由于国内网络环境,连接Maven总站会非常慢,下载也是龟速,因此建议创建一个连接阿里的Maven代理服务器,能够节省很多时间。
进入齿轮形状的仓库设置界面,点击左边的Repository->Repositories
创建一个仓库
这里选择proxy(代理仓库)
Name:随便取,但是不要瞎取
Online:博主还没试过没勾选的情况
Maven2:
Version policy:版本规则,如果选了Release,则仓库中只能存放Release(正式)版本,如果选了Snapshot则只能存放Snapshot(测试版/快照)版本,选择Mixed则两种版本都能存放。这个非常关键!
Layout policy:布局策略,Strict为严格模式,Permissive为宽松模式,具体干嘛用的,我也不清楚
Proxy:
Remote storage:远程仓库地址,这个是仓库的核心,不能乱填,这里填写阿里云的Maven仓库链接:
http://maven.aliyun.com/nexus/content/groups/public/
剩下的那堆,保持默认就行了,因为我也不知道有什么用
4.配置Maven的settings.xml
光做完之前的那些步骤并没有完成,还需要配置Maven的settings.xml,由于我使用的是IDEA编写项目,用的是它自己创建的Maven,因此我的Maven配置文件是在:
C:\Users\${用户名}\.m2\settings.xml
如果没有这个文件,则自行创建一个即可。
为了方便起见,我直接贴上我的settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>maven-alidemo</id>
<url>http://127.0.0.1:8081/repository/maven-alidemo/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<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>
<servers>
<server>
<id>maven-alidemo</id>
<username>Test</username>
<password>123456</password>
</server>
</servers>
</settings>
注意加上两个标签,一个是:
<mirror>
<id>maven-alidemo</id>
<url>http://127.0.0.1:8081/repository/maven-alidemo/</url>
<mirrorOf>*</mirrorOf>
</mirror>
另一个是:
<server>
<id>maven-alidemo</id>
<username>Test</username>
<password>123456</password>
</server>
这个链接可以通过Repositories的设置界面,URL->copy的方式复制到
5.具体使用
Android:
项目的build.gradle(即Project的build.gradle)中的repositories中加入
maven { url 'http://127.0.0.1:8081/repository/maven-alidemo/'}
然后就可以愉快的编译啦
IDEA:
建立Maven项目后,在Maven的pom.xml中建立<url>标签,把代理仓库的地址填上,然后Import Changes,编译的时候就会使用自己的代理服务器了。
使用代理服务器,好处都有什么?那就自己百度吧!
6.使用完成看效果
在OSS仓库查看里就能看见下载完成的jar包引用了
后记:网上类似的文章有很多,但是真正很全的并不多,还是得踩着坑前进,我这篇应该算是比较全的了,在写博客的过程中,我把所有过程又重新做了一遍,测试也是没有问题的,如果出现问题请在文章下方评论,谢谢!!
本篇博客为下一篇“IDEA部署多模块项目”做准前提备