linuxcentos将本地库JAR/arr批量导入到Nexus3.x

  • 背景
    我们现在要搞一个私服maven来管理对应的依赖包,需要上传包。用nexus只能单个文件搞,批量导入不行,而且还要单独配置groupID什么的。不多BB,上教程
  1. 建脚本

    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 './mavenUpload\.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}/{} ;
  1. 启动脚本

注意
改成你自己的的,其中maven推送的地址在这里找

**#将此脚本复制并运行到包含文件的存储库目录的根目录

#此脚本试图明确排除上载本身,因此脚本名称很重要

**

也就是说,你要上传哪些文件,你把你文件放在对应的目录下,比如你要上传com这个文件夹,你就放在对应的目录

复制代码
# 脚本授权
chmod +x mavenimport.sh
# 执行脚本
./mavenimport.sh -u admin -p admin123 -r http://地址/repository/repository/

自己遇到的异常

如果遇到

-bash: ./mavenimport.sh: /bin/bash^M: bad interpreter: No such file or directory

dos2unix mavenimport.sh

-bash: dos2unix: command not found

错误信息中的 ^M 表示回车符 (Carriage Return),这通常是由于 Windows 平台上的文本文件在 Unix/Linux 平台上执行时引起的。

可以使用 dos2unix 命令将脚本文件转换为 Unix/Linux 格式

复制代码
dos2unix mavenimport.sh

如果系统中没有安装 dos2unix 命令,你可以尝试使用 sed 命令来移除回车符。

复制代码
sed -i 's/\r//' mavenimport.sh

然后你应该能够正确运行脚本。

如果老鸟发现博文有问题,欢迎指点一二

相关推荐
我爱Jack33 分钟前
ObjectMapper 在 Spring 统一响应处理中的作用详解
java·开发语言
捡田螺的小男孩42 分钟前
京东一面:接口性能优化,有哪些经验和手段
java·后端·面试
小白杨树树1 小时前
【SSM】SpringMVC学习笔记8:拦截器
java·开发语言
艾露z1 小时前
深度解析Mysql中MVCC的工作机制
java·数据库·后端·mysql
冷心笑看丽美人1 小时前
Spring MVC 之 异常处理
java·开发语言·java-ee·spring mvc
神仙别闹1 小时前
基于Java(SpringBoot、Mybatis、SpringMvc)+MySQL实现(Web)小二结账系统
java·spring boot·mybatis
超级小忍1 小时前
Java集合中Stream流的使用
java·开发语言
趁你还年轻_1 小时前
Spring 官方推荐构造函数注入
java·spring·log4j