论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
数据库
›
分布式数据库
›
maven推送jar包到nexus
maven推送jar包到nexus
伤心客
金牌会员
|
昨天 11:39
|
显示全部楼层
|
阅读模式
楼主
主题
891
|
帖子
891
|
积分
2673
1.背景
当地虚拟机centos7.9(110.110.110.100)安装好了nexus
下面演示把当地的maven项目打包推送到nexus。
2.推送jar包到nexus
我项目的定名如下: 下面演示把这个项目jar包推送到nexus仓库
<groupId>com.jing</groupId>
<artifactId>java-example-test</artifactId>
<version>1.0</version>
复制代码
nexus安装好后,主动有下列的repositories,其中两个hosted(意思是nexus自已的仓库)
点这个后面的copy,复制出url,在maven工程的pom.xml加进去:
这两个地点一个是release仓库,一个是snapshot仓库,后面会讲两者区别。
<distributionManagement>
<repository>
<id>my-nexus-releases</id>
<url>http://110.110.110.100:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>my-nexus-snapshots</id>
<url>http://110.110.110.100:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
复制代码
在maven安装目录下的conf/settings.xml参加这两个仓库的用户密码(我直接用的是nexus的admin用户),如下:
留意<id>和上面 pom.xml中的<id>相对应(意思就是连仓库时用这个用户密码,因为settings.xml在我们当地电脑上,pom.xml在项目中,会push到git上,所以用户密码要写在settings.xml,防止泄露)
<servers>
<server>
<id>my-nexus-releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>my-nexus-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
复制代码
然后点deploy
实验成功后,在nexus的release仓库界面能看到jar包
3.从nexus拉取jar包
在项目的pom.xml中添加依赖和repository
<dependency>
<groupId>com.jing</groupId>
<artifactId>java-example-test</artifactId>
<version>1.0</version>
</dependency>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>my-nexus-releases</id>
<name>my-nexus-libs-release</name>
<url>http://110.110.110.100:8081/repository/maven-releases/</url>
</repository>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>my-nexus-snapshots</id>
<name>my-nexus-libs-snapshots</name>
<url>http://110.110.110.100:8081/repository/maven-snapshots/</url>
</repository>
</repositories>
复制代码
repository也可以配在maven安装目录下的conf/settings.xml
通过activeProfiles激活利用nexus库
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>my-nexus-releases</id>
<name>my-nexus-libs-release</name>
<url>http://110.110.110.100:8081/repository/maven-releases/</url>
</repository>
<repository>
<snapshots />
<id>my-nexus-snapshots</id>
<name>my-nexus-libs-snapshot</name>
<url>http://110.110.110.100:8081/repository/maven-snapshots/</url>
</repository>
</repositories>
<id>my-nexus</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>my-nexus</activeProfile>
</activeProfiles>
复制代码
4.release和snapshot区别
上面有两个库地点,release和snapshot,区别如下
Snapshot版本:代表正在开发中的版本,还没正式发布,版本号以“-SNAPSHOT”末端,如下所示,这个jar包就会被推送到snapshot仓库,并加上时间。
<groupId>com.jing</groupId>
<artifactId>java-example-test</artifactId>
<version>1.0-SNAPSHOT</version>
复制代码
每次拉取时都会根据上传的时间区分出最新的jar包版本,从snapshot仓库重新拉取最新的包(因为版本还在开发中,大概别人推送了新的代码,所以每次要确保拉取最新的代码)
Release版本:正式发布的版本,代码已经开发好了。版本号不以“-SNAPSHOT”末端,如下所示,这个jar包就会被推送到release仓库。
<groupId>com.jing</groupId>
<artifactId>java-example-test</artifactId>
<version>1.0</version>
复制代码
release版本不会加上时间,当地有jar包的话,就不会从release仓库拉取,除非把当地jar包删掉。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
伤心客
金牌会员
这个人很懒什么都没写!
楼主热帖
《百万IT毕业生的心声:IT专业大学生毕 ...
Java打怪之路----谷粒商场认证服务 ...
xtrabackup2版本和xtrabackup8版本对比 ...
原型设计工具比较及实践--滴爱音乐 ...
Excelize 发布 2.6.1 版本,支持工作簿 ...
sqlserver导入sql文件的方式
Flink-使用流批一体API统计单词数量 ...
基于 SpringBoot + MyBatis 的博客系统 ...
Snowflake(雪花算法),什么情况下会 ...
WPF开发随笔收录-操作注册表 ...
标签云
存储
挺好的
服务器
浏览过的版块
Java
快速回复
返回顶部
返回列表