N年前的脚本:mvn打包到本地仓库
打包 脚本 本地 仓库 mvn
2023-06-13 09:15:23 时间
电脑没有网,需要把几个依赖的jar包打到本地仓库,我想起了N年以前写的一个mvn-install工具,好在用everything搜索出来了,所幸还能使用,却想不起来为什么要写这么一个脚本,mvn install也是一条命令的事。
#!/bin/bash
echo "author:star.hu"
echo "请整理好完整的包路径,eg:/com.oracle/ojdbc8/19.3/ojdbc8-19.3.jar"
curr_dir=$(cd $(dirname $0); pwd)
echo "当前路径: $curr_dir"
read -r -p "请输入jar包路径:" P1
#read -p "请输入groupId:" P2
#read -p "请输入artifactId:" P3
#read -p "请输入version:" P4
v=`echo $P1 | awk -F '\' '{print $(NF-1)}'`
a=`echo $P1 | awk -F '\' '{print $(NF-2)}'`
g=`echo $P1 | awk -F '\' '{print $(NF-3)}'`
echo $g $a $v
mvn install:install-file -Dfile=$P1 -DgroupId=$g -DartifactId=$a -Dversion=$v -Dpackaging=jar
竟然一上来就标注了自己是作者,非常强烈的装X意识。整体看还行吧,需要输入一个参数,即依赖包的完整路径,这里需要注意如果groupId是多级目录的使用"."命名文件夹。
看注释掉的7,8,9行能看出来原来是需要依次输入groupId,artifactId和version的,后来改成输入一个完整路径了,想不起来为何了。
使用read命令时,注意选择参数 -r,取消backslash转义,这样才能正确地按照backslash进行目录分隔。
使用awk将完整包路径进行分隔,获取到对应的version,artifactId,groupId,这里竟然使用了3次分隔,好像是不会将awk结果赋值给数组导致的(这个稍后查查,先保持原状)。
最后就是使用mvn install命令,貌似直接使用也没有什么难度,而且不需要构建依赖包全路径。运行结果如下。
相关文章
- python将py文件编译成exe文件_怎么把python程序打包成可执行文件
- iOS 自动打包脚本
- Maven打包命令包括继承和依赖关系的打包命令
- FusionAPP打包安卓apk程序
- pypy 打包_手机按键精灵脚本编写
- AppStore 打包上传后提示“二进制文件无效” 的解决方法
- 【Python实用技巧】如何将Python脚本打包成exe可执行文件?
- 学不动了,Vercel 推出比 Vite 快 10 倍的打包器 Turbopack
- Electron打包错误的踩坑小记
- Hbuilder用自有证书打包 ios App上架AppStore流程
- uniapp打包ios app所需的证书的制作流程
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
- 【Android FFMPEG 开发】Android Studio 工程配置 FFMPEG ( 动态库打包 | 头文件与函数库拷贝 | CMake 脚本配置 )
- 【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )
- 制作Linux下程序安装包——使用脚本打包bin、run等安装包详解程序员
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法详解编程语言
- Linux:批量打包文件的简单方法(linux打包多个文件)
- Linux下打包zip命令熟练掌握(linux打包zip命令)
- 如何为 Linux 打包 Python 应用
- 压缩掌握新技能:快速打包Linux文件集合的gzip技巧(linuxgzip打包)
- SQL Server数据库打包助力工作效率提升(打包sqlserver)
- Linux下打包文件夹的简单命令使用方法(linux打包文件夹命令)
- Oracle tar打包轻松完成文件传输压缩打包(oracle tar打包)