目录
1.nexus简介
2.下载nexus
3.启动nexus
4.访问nexus
5.nexus服务介绍
6.相关配置
7.页面上传Release的jar流程
8.上传snapshots快照jar
9.项目中引用本地私服
nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问.
nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据
nexus使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过IDEA和Eclipse集成使用
nexus支持webDAV与LDAP安全身份认证.
nexus提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,占用较少的内存,基于简单文件系统而非数据库.
私服仓库的工作流程
地址:https://www.sonatype.com/
下载地址:https://www.sonatype.com/download-nexus-repo-oss
版本/收费/免费:Nexus Repository Manager 仓库管理有2个版本,专业版和oss版,oss版是免费的,专业版是收费的,我们使用oss版。
解压缩后的目录结构
在conf目录下有nexus.properties设置启动端口等信息,默认是8001,可以手动编辑修改
启动程序目录在bin/jsw下,根据自己的操作系统进入到对应的目录下,64位操作系统进入windows-x86-64目录下,install-nexus.bat为注册服务,start-nexus.bat为启动服务
直接点击bat文件可能会报wrapper | OpenSCManager failed - 拒绝访问错误
需要右键选中bat文件,以管理员身份运行才能执行bat文件
浏览器输入http://localhost:8081/nexus进行访问
点击Log in进行登录,用户名默认admin,密码默认admin123
登录后可以选择profile进行密码的修改
点击Repositories,可以看到详情
nexus默认的仓库分类
1) group组仓库,一般是为啦方便开发人员使用而建立的仓库
2) hosted宿主类型仓库,一般为内部项目的发现仓库
3) proxy代理仓库—>从中央仓库寻找数据的仓库
4) virtual虚拟仓库(了解即可,基本不用)
宿主类型仓库
release库:发布内部模块中的releas模块的仓库,用来管理发布版本构建
snapshot库:发布内部模块中snapshot模块的仓库,用来管理快照版本的构建,snapshot意味快照,如果项目版本是snaphost,意味着项目在开发中,还不稳定
在maven安装目录下的conf目录下,对setting.xml文件进行配置,配置访问nexus的用户名密码
releases
admin
admin123
snapshots
admin
admin123
选中3rd party,选择Artifact Upload,GAV Definition下拉选择GAV Parameters,录入jar包的相关信息
选中需要上传的jar包,Filename和Extension系统会自动解析
然后点击Add Artifact按钮,Artifacts框中会加载此jar包,点击Upload Artifact(s)按钮进行上传
然后可以根据地址进行访问查看
在cmd命令行使用maven进行上传,设置jar包的路径,需要上传到的服务器地址,jar的groupid、artifactId、version、packaging等信息
mvn deploy:deploy-file -DgroupId=com.platform.framework -DartifactId=framework -Dversion=1.1.5-SNAPSHOT -Dpackaging=jar -Dfile=E:\repository\wfw\com\platform\framework\framework\1.1.5-SNAPSHOT\framework-1.1.5-SNAPSHOT.jar -Durl=http://127.0.0.1:8081/nexus/content/repositories/snapshots -DrepositoryId=snapshots
通过地址进行查看
在执行上传时可能会出现401的错误,这是由于setting.xml中的用户名密码配置不对
pom.xml中进行设置
nexus
Team Nexus Repository
http://127.0.0.1:8081/nexus/content/groups/public/
true
com.platform.framework
framework
1.1.5-SNAPSHOT