使用原因
- 将第三方jar包(或其它类型的包)发布到私仓上,以便通过maven(或其它包管理工具)进行统一的依赖管理
- 提高下载速度(你知道国内通过maven官方仓库更新依赖是很慢的)
- 。。。。。。
环境支持
JDK
Maven
安装
下载地址:https://www.sonatype.com/download-oss-sonatype
提供了Nexus Repository Manager OSS 3.x
和Nexus Repository Manager OSS 2.x
两个版本
这里我们采用3.x
的版本,且以windows
为例:
下载得到
将其解压到任一目录
在终端中执行:
{NEXUS_HOME}\nexus-3.6.2-01\bin\nexus.exe /run
mark
PS:端口在{NEXUS_HOME}\sonatype-work\nexus3\etc\nexus.properties
文件中可修改
通过浏览器,访问localhost:8081
即可进入nexus的管理页面
配置与说明
登录默认管理员账号:admin/admin123
mark
创建一个仓库(Create Repositories)
mark按照里面提示,一步步操作就好,值得注意的地方主要是hosted类型的仓库记得修改如下:
mark
Maven配置
1.找到{MAVEN_HOME}\conf\settings.xml
2.在Servers节点下添加(可以根据角色配置多个):
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
2.在Mirrors节点下添加:
<mirror>
<id>nexus</id>
<name>{name}</name>
<url>http://{host}:{port}/repository/maven-public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
使用与发布
发布maven项目
- 在pom文件中的project节点中的最后添加:
<distributionManagement>
<repository>
<id>{server ID}</id> <!--setting.xml中server的id-->
<name>{repository name}</name> <!--Nexus中repository的名字-->
<url>{repository URL}</url> <!--Nexus中repository的URL-->
</repository>
</distributionManagement>
- 执行Maven命令:
mvn deploy -DskipTests
发布独立jar包
mvn deploy:deploy-file -DgroupId={group} -DartifactId={artifact} -Dversion={vsersion} -Dpackaging=jar -Dfile={jar path} -Durl=http://{host}:{port}/repository/{repository name}/ -DrepositoryId={server id}
参数说明:
group
、artifact
、vsersion
对应Maven中的三个坐标参数
jar path
为你要发布的jar的绝对路径
host
、port
为你私仓的主机地址和端口
repository name
为你要发布到的repository的URL(可在nexus中copy)
server id
对应了在maven中配置的server的ID(如果server所对应的角色权限不足,则会发布失败)
网友评论