nexus私服笔记
maven基本命令
私服搭建
-
nexus官方网站上下载其压缩包
https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.22.0-02-unix.tar.gz
我下载的是linux版本的
-
解压tar包
tar -zxvf nexus-3.22.0-02-unix.tar.gz -C nexus3
-
启动nexus服务,默认端口是8081
进入到bin目录下:./bin/nexus start
nexus服务启动很慢,在虚拟机里搭建的时候,需要将分配虚拟机内存到2G以上,nexus很消耗内存。看到如下日志,代表启动成功
-
默认配置文件
/usr/local/software/nexus3/nexus-3.22.0-02/etc/nexus-default.properties
-
日志输出文件
/usr/local/software/nexus3/sonatype-work/nexus3/log/ nexus.log
-
nexus登录初始密码
/usr/local/software/nexus3/sonatype-work/nexus3/admin.password
nexus概念与使用
-
仓库类型
1、 group 仓库组类型(门面),组合自己的多个仓库,成为一个路径对外提供服务
2、 hosted 宿主类型 内部jar包存放的仓库,比如公司的二方包
3、 proxy 代理类型 代理一个远程仓库url
4、 nuget NET库
-
仓库名称
1、 maven-central 中央仓库
2、 meven-public 门面仓库
3、 maven-releases 内部稳定版本库,存在稳定版本的jar,在发布时候,不能被覆盖
4、 maven-snapshots 快照版本库 允许已存在的jar被覆盖
配置镜像代理
配置国内代理仓库,阿里云镜像,加速jar包下载
2、 创建第三方jar包稳定版本库,使用宿主类型
配置maven门面
当外部请求nexus下载jar时,nexus统一对外部提供一个服务窗口。我们配置它对远程仓库的代理顺序。
编辑maven-public库,加入需要组合的maven库
从私服上拉取jar包配置
设置私库认证信息(访问),可以配置多个,授权多个版本库
<server> <id>maven-nexus</id> <username>admin</username> <password>admin</password> </server>
全局配置
将私服配置在maven的setting文件中
<mirror> <id>maven-nexus</id> <name>central</name> <mirrorOf>*</mirrorOf> <url>http://xxxx/repository/maven-public/</url> </mirror>
-
<mirror> 里的<id>的值,要与 <server>中的<id>值保持一致
-
<name>指定仓库的名称
-
可以配置多个<mirror>配置项
单个项目配置
将私服配置在项目的pom文件中
repository 里的id的值,要与 server中的id值保持一致
上传jar包到私服
手动上传
自动发布
-
settings配置里配置认证信息
<servers> <server> <id>maven-releases</id> <username>xxx</username> <password>xxxxx</password> </server> <server> <id>maven-snapshots</id> <username>xxx</username> <password>xxxxx</password> </server> </servers>
-
pom文件配置
<distributionManagement> <repository> <id>maven-releases</id> <name>maven-releases</name> <url>http://xxx/repository/maven-releases/</url> </repository> <snapshotRepository> <id>maven-snapshots</id> <name>maven-snapshots</name> <url>http://xxx/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
repository 里的id的值,要与 server中的id值保持一致
自定义maven骨架
我们选用一个标准的项目结构框架---如,我们前面的enjoy-web项目,结构如下:
生成archetype项目
-
在选定的项目根目录下,
-
执行命令:mvn archetype:create-from-project
-
-
生成archetype项目结构如下
打包发布到私服
生成的骨架与普通maven项目一样,可以进行打包发布。mvn install ,mvn deploy
使用自定义骨架生成项目
-
添加骨架