上传jar包至maven私服

简介: 在使用springboot+dubbo+zk的架构中,经常会有服务需要调用其他服务中的接口,接口调用一般是两种方式:第一种直接使用http方式调用,这种大部分场景都适用,但是会有数据丢失情况,不是特别稳定。第二种就是调用dubbo接口,也就是常说的rpc调用,这时就需要引入对方封装的接口包,用以从dubbo容器中获取到这个接口的实现,这时就需要接口提供方将封装的接口包上传到maven私服,然后使用方直接在pom文件中配置依赖即可引用了。

上传jar包至maven私服



问题场景描述:


在使用springboot+dubbo+zk的架构中,经常会有服务需要调用其他服务中的接口,接口调用一般是两种方式:


第一种直接使用http方式调用,这种大部分场景都适用,但是会有数据丢失情况,不是特别稳定。


第二种就是调用dubbo接口,也就是常说的rpc调用,这时就需要引入对方封装的接口包,用以从dubbo容器中获取到这个接口的实现,这时就需要接口提供方将封装的接口包上传到maven私服,然后使用方直接在pom文件中配置依赖即可引用了。


如何上传jar至maven私服:


方式一:如果使用的是IDEA作开发,可以直接使用maven中的deploy命令(install会将jar传至本地仓库)就可以上传至私服,如下图:


20210129175125264.png


私服上传后的jar展示:


20210129180029868.png


注:为什么上传的jar包上有时间戳?

因为上传的jar都是SNAPSHOT的,SNAPSHOT代表临时版本,如果是RELEASE的jar则不会有时间戳,这个无需在意。


方式二:在cmd中执行deploy命令效果也是一样的,但是需要先配置MAVEN_HOME环境变量,该变量不配置在cmd是不能使用mvn命令的,检查是否配置了MAVEN_HOME环境变量可以直接在cmd中输入mvn -version如下图:


2021012917561525.png


执行命令:

mvn deploy:deploy-file -DgroupId=sgcc.supplier.api -DartifactId=sgcc.supplier.api-Dversion=1.0 -Dpackaging=jar-Dfile=F:\maven_supplier_new\sgcc\supplier\api\sgcc.supplier.api\1.0.0-SNAPSHOT\sgcc.supplier.api-1.0.0-SNAPSHOT.jar -Durl=http://172.16.68.146:8181/nexus/content/repositories/snapshots/ -DrepositoryId=esgcc-snapshots


DgroupId和DartifactId构成了该jar包在pom.xml的坐标,项目就是依靠这两个属性定位。自己起名字也行。


Dfile表示需要上传的jar包的绝对路径。

Durl私服上仓库的位置,打开nexus——>repositories菜单,可以看到该路径。

DrepositoryId服务器的表示id,在nexus的configuration可以看到。

Dversion版本信息,怎样得到一个jar包准确的版本呢?

解压该包,会发现一个叫MANIFEST.MF的文件,Manifest-Version该字段代表版本信息。


未完待续。。。


注意:


如果碰到了该问题:The goal you specified requires a project to execute but there is no POM in this directory,大概率是命令中有多余空格,或者文件夹命名包含空格等,再检查下命令。


相关文章
|
4天前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
3天前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
|
7天前
|
Java Maven Windows
Maven 引用jar包冲突 Intellij 查找排除JAR包的依赖关系(Maven Helper)
Maven 引用jar包冲突 Intellij 查找排除JAR包的依赖关系(Maven Helper)
13 0
|
2月前
|
Java 关系型数据库 MySQL
Maven如何快捷导入jar包
Maven如何快捷导入jar包
|
2月前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
27 0
|
2月前
|
Java Maven
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
119 0
|
2月前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
28 0
|
3月前
|
Java Maven Spring
maven打包插件maven-jar-plugin与spring-boot-maven-plugin
该内容介绍了两个Maven打包插件:`spring-boot-maven-plugin`和`maven-jar-plugin`。`spring-boot-maven-plugin`是Spring Boot项目的默认打包工具,它会包含项目类文件、资源和依赖的jar,但不会解编译依赖。而`maven-jar-plugin`则用于创建普通JAR包,不包含依赖。文中还展示了两个插件打包后的效果差异,并强调了持续练习以掌握这些技能的重要性。
55 0
|
3天前
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
10 1
|
3天前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
11 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧

推荐镜像

更多