栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nexus【应用 01】上传jar包到私有Maven仓库的两种方法:手动 Upload 和 mvn deploy 命令(配置+操作流程)

以下内容均以Sonatype Nexus Repository Manager OSS 3.27.0-03版本进行说明。

1.上传

手动Upload和mvn deploy命令两种上传方式的应用场景不同,手动上传适用于工具类的jar包,比如项目需要引入的lib文件,这种可以选择手动上传。复杂的、有较多依赖的jar包则需要连同pom文件一起上传,此时需要使用mvn deploy。

1.1 手动Upload

首先要登录Nexus,选择Upload,选择要上传的目标仓库,选择 File 填写 Group ID 等,最重要的是要点选Generate a POM file with these coordinates如下图:


正常上传后会有jar和pom文件,这用1.0版本的截图:

如果不勾选,上传成功后没有pom相关文件:


没有pom文件编译时会报错:

Could not find artifact com.xxxx:gpss-nonetty:pom:3.0 in nexus (http://localhost:8081/repository/maven-public/)

勾选后生成的pom文件内容如下:


	4.0.0
	com.xinan
	gpss-nonetty
	3.0
	jar

如果上传错误,删除的方法如下:

1.2 mvn deploy 上传

命令上传时,由于未登录Nexus,也无法使用Nexus的Generate a POM file with these coordinates,所以命令上传要自己准备pom文件,配置如下:



    4.0.0

	
    com.xinan
    gpss-nonetty
    1.0
    jar

    
    	
        
            releases
            maven的发布仓库id与setting.xml中在server节点id保持一致
            http://localhost:8081/repository/maven-releases/
        
	

setting.xml 中的配置:


	
	
    	releases
    	admin
    	admin123
	
	
	
  	  snapshots
  	  admin
 	   admin123
	

方法1️⃣

使用idea上传当前项目,pom配置:



    4.0.0

    com.xinan
    gpss-nonetty
    1.0
    jar

    
		
    
    	
    
		
    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    6
                    6
                
            
        
        
            
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                
            
        
    
    
    
    	
        
            releases
            maven的发布仓库id与setting.xml中在server节点id保持一致
            http://localhost:8081/repository/maven-releases/
        
	

执行 depoly

方法2️⃣

使用idea的Terminal进行上传,由于idea已经配置了maven也就已经加载了setting.xml的配置,所以命令比较简单 此种方式可以上传任意Jar:

# 不传递 DgroupId、DartifactId、Dversion、Dpackaging
mvn deploy:deploy-file 
-Dfile=jarFilePathGPSS-1.0.jar 
-DpomFile=pomFilePathpom.xml 
-Durl=http://localhost:8081/repository/maven-releases/ 
-DrepositoryId=releases
# 传递 DgroupId、DartifactId、Dversion、Dpackaging
mvn deploy:deploy-file 
-DgroupId=com.xxxx
-DartifactId=gpss-nonetty 
-Dversion=1.0 
-Dpackaging=jar 
-Dfile=jarFilePathGPSS-1.0.jar 
-DpomFile=pomFilePathpom.xml 
-Durl=http://localhost:8081/repository/maven-releases/ 
-DrepositoryId=releases
  • DgroupId、DartifactId、Dversion、Dpackaging:jar的基本信息,传递的话会覆盖pom内的配置;
  • Dfile:jar包的绝对路径;
  • DpomFile:jar包对应的Pom文件的绝对路径;
  • Durl:Nexus的地址;
  • DrepositoryId:对应的是setting.xml文件中配置的serverId,用来关联私服的用户名和密码。

方法3️⃣

使用cmd执行,此时要传递settings.xml文件,这样才能够获取用户名和密码信息:

mvn deploy:deploy-file 
--settings settingsFilePathsettings.xml 
-DgroupId=com.xxxx
-DartifactId=gpss-nonetty 
-Dversion=1.0 
-Dpackaging=jar 
-Dfile=jarFilePathgpss-1.0.jar 
-DpomFile=pomFilePathJavaGPSS-jarpom.xml
-Durl=http://localhost:8081/repository/maven-releases/ 
-DrepositoryId=releases
2.总结

不管是手动上传还是命令上传,需要的基本信息都是一样的:

  • 仓库地址、账号;
  • 上传的jar、pom信息。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998503.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号