近期项目上有需要搭建一个maven私服仓库,于是自己试着弄了一下,踩了一些坑,特此想发布一篇教程,并提供资源,方便大家遇到类似的情况时能够快速完成工作;
关于nexus的介绍,这里不多废话了,感兴趣的可以去官网自己查看。
一、先要去下载nexus安装包
https://www.sonatype.com/这里是官网地址。去下载的话选择OSS版,免费的。但是这个东西不使用点科学手段是不能够直接下载下来的。
so,我出于人道主义精神,回馈广大新老粉丝,也不需要去关注公众号了、不用去找VPN了,不需要支付任何额外费用了,直接点击下方链接,免费下载一个最新版本:
https://download.csdn.net/download/sinat_35210614/87735669
二、安装流程
将下载下来的安装包copy到你想要安装的目录下,直接解压缩。
不出意外应该会看到如下两个文件夹:
三、修改配置
找到你对应盘符下的**\nexus-3.52.0-01-win64\nexus-3.52.0-01\etc这个目录
在里面会看到一个叫nexus-default.properties的文件,这便是nexus的配置文件
我们打开它:
重点可以关注第一个参数,这个可以修改启动端口,以防端口冲突的问题。修改好后保存即可。
四、启动nexus
首先来到这个目录下
然后在地址栏输入cmd
直接回车
在打开的命令提示符窗口中键入:nexus.exe /run
然后就可以看到nexus的启动了。
启动顺利的话,后续可以考虑把它加入为windows的服务,这样以后启动方便一些:
nexus.exe /install nexus3
这个过程中可能会出现一些错误,没遇到的朋友就可以跳过这一小节了,给大家也先提个醒,错误内容我就不粘贴了,但是可以告诉大家解决方案:
问题一:空指针异常的情况
启动时就会抛出的异常,问题点就只有一个,文件路径中不可以带中文,换成全英文路径即可。
问题二:com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage 'D:/mavenNexus/sonatype-work/nexus3/db/config' with mode=rw
DB name="config"
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(OAbstractPaginatedStorage.java:323)
类似这种的异常。
可以考虑两个方案:一是去**\sonatype-work\nexus3\db这个目录中找到对应名称的文件目录(这里是config),去里面搜索*.wal文件,应该只有一个,把他删除掉。重启试试。不行就要用官方的数据库查看修复工具去处理一下了(太麻烦,推荐方案二了)
二是如果上述方法也没用的话,删除所有刚才的目录和文件,卸载服务。重新解压缩源文件,按第一步重新来一次,我就这样解决的。
五、配置服务器环境
winserver服务器环境通常是开启了防火墙的,所以我们要去为nexus的端口开放访问权限。
WIN+R键打开运行框,键入control,找到系统和安全,点开windows防火墙
再点击高级设置
之后在入站和出站规则里面都把nexus的端口加上(默认是8081的那个)。
六、开始使用nexus
打开浏览器,在地址键入你的服务器ip:端口号,就应该可以看到如下的画面
等待初始化完成,点击右上角的sign in按钮,登录,默认用户名admin,密码在安装目录里面,至于位置,界面上会有提示,登录成功后会要求你修改密码。
至此,其实nexus的安装就已经全部完成了,下面我主要介绍一下,java项目上如何去使用nexus。
七、配置nexus系统
用admin登录后,点击如下所示的按钮
然后点击repository->repositories->create repository,然后选择下图的选项
然后出现下图,这里两个必填框分别填写aliyun(这个随意),另一个填写http://maven.aliyun.com/nexus/content/groups/public/
其他配置可以不用管,直接点保存即可。
然后点击这个goup配置,编辑一下
把maven的hosted和proxy内容都移动过去,要注意顺序,下载jar包时也是按这个顺序去依次寻找的。
然后去新建角色和用户了:
security->roles->create role
其他名字Id随便取,主要要把如下两个权限给赋予了:
接下来就可以去新建用户了:security->users->create local user
赋予它刚刚新建的角色,我这里取得角色名字是read,用户名是readUser你们随意
其他内容随便填写。status必须是active
八、maven setting.xml配置
要和刚才创建的用户名,密码一致,仓库id不要去修改
就主要修改这两个地方。
九、项目内的配置
在要使用内部jar包项目的maven父工程的pom.xml文件中加入
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://服务器ip:端口号/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://服务器ip:端口号/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
十、上传私有jar包,并配置下载
找到你想打成依赖的项目
依次执行
然后来到nexus的主界面
然后上传你的jar包,把下面都填写了 ,然后保存即可。
在这里可以看到你刚刚上传的jar包
点击下图所示节点
就可以把右下角的maven依赖复制进入你需要使用的项目中的pom文件里面去使用了。