因远程nexus仓库数据丢失,历史版本组件包全部丢失,一个个项目重新打包上传工作量巨大,切很多历史版本无法找到。因此可以通过上传本地仓库中的组件包进行补充。
第一步:创建自己远程仓库(也可以使用现有的),需要使用管理登录
第二步:准备上传组件包
sudo mkdir /opt/maven-repo
cd /opt/maven-repo
#创建根目录
sudo mkdir com
#拷贝本地仓库组件
sudo cp -r ~/.m2/repository/com/lizz ./com/lizz
vim 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"
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}{} ;
# -u 用户名
# -p 密码
# -r 远程仓库路径
./mavenimport.sh -u admin -p admin123 -r http://nexus.lizz.com/repository/lizz_test
-
maven引用时注意是否引用到了新建的远程库,或者直接上传到在用的maven库中。
场景 因远程nexus仓库数据丢失,历史版本组件包全部丢失,一个个项目重新打包上传工作量巨大,切很多历史版本无法找到。因此可以通过上传本地仓库中的组件包进行补充。操作第一步:创建自己远程仓库(也可以使用现有的),需要使用管理登录选择maven2(hosted)方式创建仓库配置查看仓库信息复制仓库路径,上传时需要用第二步:准备上传组件包创建操作目录sudo mkdir /opt/maven-repocd /opt/m...
登录配置好的私服地址(进入
Nexus
私服可视化界面)
Views/Repositories —> repositories —> 选择右边:“3rd party” —> 选择下方:“Artifact Upload”
2. 通过cmd窗口使用命令行上传
使用命令上传的原因:
Nexus
私服的Release
仓库
不允许上传SNAPSHOT版本,会报错,而SNAPSHOT
仓库
不提供Web界面上传功能。所以通过
Maven
命令行直接上传文件。
maven
使用本地
仓库
作为
远程
仓库
使用
说明:在内网环境,没有搭建私服。将本地的
maven
库作为
远程
仓库
使用,即强制使用本地
仓库
1.查看现有的本地
仓库
的依赖包的下载来源的镜像id
查看本地
maven
库中下载的jar,同级目录的_remote.repositories 文件,此文件中有
仓库
id,注意如果在你的settings.xml中配置了多个mirror,那这个镜像id就有多个。
2. 配置自己内网环境中的
maven
的settings.xml文件
注意:如果查看到的镜像Id有多个,这里的mirror也要
Maven
推送本地jar包到
远程
仓库
今天在commons-utils 工程下新建了公司项目的公共方法,本地测试没有问题,需要将功能打成打包推上
远程
nexus
仓库
,具体推送方式百度了一下,这里将具体操作记录一下:
一.配置pom.xml
在pom文件中添加
远程
仓库
的地址和id.名称可以不需要.当然具体根据实际操作.
<!--配置
远程
仓库
地址-->
<distributionManagement>
<...
### 回答1:
Maven
是一种基于项目对象模型(POM)的构建工具,它可以自动下载项目所需的依赖库,并将这些库保存在本地
仓库
中,以供其他项目引用使用。但是,即使本地
仓库
中已经存在所需要的依赖库文件,
Maven
在执行构建任务时仍然会向
远程
仓库
发起请求,尝试下载依赖库。
这是因为
Maven
默认情况下会检查依赖库的最新版本,并自动更新本地
仓库
中的库文件。即使本地
仓库
中已经存在相应版本的库文件,
Maven
也可能会自动更新这些文件,以确保这些库文件的版本最新。
这种行为有时会在构建过程中导致一些问题,例如网络连接不良等原因导致下载失败,从而导致构建失败。为了避免这种问题,可以使用
Maven
的offline模式来防止
Maven
从
远程
仓库
下载依赖库。在offline模式下,
Maven
只使用本地
仓库
中的库文件,从而大大减少了构建过程中向
远程
仓库
发起请求的次数,并确保了构建的稳定性和可重复性。
总之,
Maven
的本地
仓库
可以减少项目构建时的依赖下载时间,但
Maven
仍然会在构建过程中向
远程
仓库
发起请求,以确保所使用的依赖库文件的版本最新。如果需要避免失败,可以使用offline模式来避免
Maven
从
远程
仓库
下载依赖库。
ES启动异常:There is insufficient memory for the Java Runtime Environment to continue
Java小学徒_wmm:
ES启动异常:There is insufficient memory for the Java Runtime Environment to continue
lizz666:
ES启动异常:There is insufficient memory for the Java Runtime Environment to continue
Java小学徒_wmm: