本地maven库缓存导入私库

为了加速编译代码,想将本地maven缓存导入内网私库使用。

脚本网上搜的

#!/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
# ./mavenimport.sh -u admin -p admin123 -r http://ip:8081/repository/maven-releases/
 
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}/{} ;

执行方法注释中有。

需要注意的是,要在库的下级目录执行。如:C:\Users\xxx\.m2\repository 的目录下。

看到的应该是如下图目录:

这样提交到nexus上才会是com.xxx.xxx或者org.xxx.xxx

开始在repository外执行的,结果目录变成了repository.com.xxx.xxx导致识别一些问题。

以上

### 如何重新导入 Maven中的包 当需要重新导入 Maven中的包时,可以通过以下方式实现: #### 使用 `mvn install` 命令重新安装 JAR 包 如果之前通过命令行将某个 JAR 文件手动导入到了本地 Maven,则可以再次运行类似的命令来覆盖已有的版本。例如,假设之前的命令如下所示: ```bash mvn install:install-file -DgroupId=com.github.03 -DartifactId=onvif -Dversion=1.0.7 -Dpackaging=jar -Dfile=onvif-1.0.7.jar ``` 那么为了更新该 JAR 包的内容,只需重复执行上述命令即可[^4]。这会自动替换掉旧版的文件。 #### 清理并强制刷新远程依赖 对于那些来自公共或者私有远程仓(而非手工放置于本地缓存目录下的资源),应该考虑清理当前项目的下载记录以便触发新一轮同步过程。具体做法是在 IDEA 或其他 IDE 中右键点击项目名选择 **Maven -> Reimport** 功能按钮;另外也可以借助终端输入下面这条语句达到相同效果&mdash;&mdash;即删除对应模块下 `.m2/repository/...` 路径里的目标子文件夹后再尝试编译构建整个工程结构从而促使系统联网拉取最新数据源。 ```bash rm -rf ~/.m2/repository/com/github/03/onvif/ ``` #### 手动调整 POM.XML 并验证设置无误 确保项目的 pom.xml 文件里包含了正确的 `<dependency>` 定义部分,并且其属性值与实际要加载的目标相匹配。比如这样一段典型的 XML 片段用于声明对外部组件的需求关系: ```xml <dependencies> <dependency> <groupId>com.github.03</groupId> <artifactId>onvif</artifactId> <version>1.0.7</version> </dependency> </dependencies> ``` 只有当这些基本信息都填写准确之后才能正常工作[^3]。 此外需要注意的是,在某些特殊场景下可能还需要额外指定一些参数选项或者是修改全局配置文件 settings.xml 来适配特定环境需求[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值