命令行方式上传jar包到nexus maven仓库

有的nexus版本不支持在管理平台的页面上,直接上传jar包,

下面分享一下,怎么通过命令行手动上传jar包到maven仓库:

目前方法3最有效

1:直接上传到Maven:        
    mvn install:install-file -Dfile=fszrDBC-0.0.1-SNAPSHOT.jar -DgroupId=com.fszr.main -DartifactId=fszrDBC  -Dversion=0.0.1 -Dpackaging=jar    
    mvn install:install-file -Dfile=cpcn-payment-api-2.4.0.6.jar -DgroupId=com.fszr.main -DartifactId=cpcn-payment-api  -Dversion=2.4.0.6 -Dpackaging=jar    
这只是放到maven仓库中,不是放到nexus中,不能通过nexus下载

2:上传到Nexus的maven仓库

将jar包放到pom.xml同级目录后,将pom.xml改成自己的jar包的pom.xml,执行:mvn deploy

pom文件内容:

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.fadada.sdk</groupId>
	<artifactId>fadada_api_sdk</artifactId>
	<version>2.4.0</version>
	<packaging>jar</packaging>
	<name>fadada_api_sdk</name>
	<description>fadada_api_sdk_20190923</description>

	<distributionManagement>
		<repository>
			<id>nexus</id>
			<name>four_party</name>
			<url>http://192.168.20.129:8081/repository/four_party/</url>
		</repository>

	</distributionManagement>
	
	<!-- 执行mvn deploy即可上传成功! -->
</project>

3:有可能用2上传还不行,还有方法3

在Nexus的home目录上新建一个目录:repo    

压缩要上传的jar,必须要选择repository目录下的文件夹压缩

比如要上传com下面的一个jar包,但是不需要com下面其他的那么多文件,可以在自己做一个com文件夹,直到jar的最后的目录                                
像com\api\jxtlt-sdk\1.0这几层都可以自己创建,最后把jar和pom放进去                                
或者直接复制上面.m2中repository中的                

上传到Nexus机器的/home/repo中,然后解压,解压后:

执行命令:vi mavenimport.sh

将下面内容粘贴进去:

#!/bin/bash
 
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params
while getopts ":r:u:p:" opt; do
	case $opt in
		r) REPO_URL="$OPTARG"
		;;
		u) USERNAME="$OPTARG"
		;;
		p) PASSWORD="$OPTARG"
		;;
	esac
done
 
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

保存后退出,执行赋予权限命令:chmod +x mavenimport.sh

执行上传命令即可:./mavenimport.sh -u admin -p admin123 -r http://192.168.20.129:8081/repository/four_party/

猜你喜欢

转载自blog.csdn.net/u013282737/article/details/109290967
今日推荐