首页 > 其他分享 >Maven-私服搭建与配置

Maven-私服搭建与配置

时间:2022-09-28 17:45:21浏览次数:78  
标签:maven http repository nexus ip 私服 Maven 搭建

一、maven私服搭建

1.下载地址

https://help.sonatype.com/repomanager3/product-information/download/download-archives---repository-manager-3

2.启用

tar -zxvf nexus-3.31.1-01-unix.tar.gz
mv nexus-3.31.1-01 nexus3

cd nexus3/bin
./nexus start
./nexus stop

# 可以更改配置和端口
vim /usr/local/nexus3/etc/nexus-default.properties
# 初始密码位于此,更改密码后该文件将不存在
cd /usr/local/sonatype-work/nexus3/admin.password

3.配置阿里云远程代理
https://maven.aliyun.com/repository/public
image
-=-=-=-=-=-=-
image

4.设置仓库顺序
aliyun需要在central之前
image

3.本地配置

① 下载

  • 方式一:在setting.xml文件<mirrors>标签中添加私服镜像

这里这有私服的镜像就够了,但是有时候私服网络出问题,为了我们依然能下载central类型的所以依然添加了阿里云镜像,不过这里阿里云下载central类型的包时优先级比私服高

<!-- 私服仓库 -->
<mirror>
	<id>nexus-maven</id>
	<mirrorOf>*</mirrorOf>
	<name>nexus maven</name>
	<url>http://ip:8081/repository/maven-public/</url>
</mirror>

<!-- 阿里公共仓库-->
<mirror>
	<id>aliyunmaven</id>
	<mirrorOf>central</mirrorOf>
	<name>阿里云公共仓库</name>
	<url>https://maven.aliyun.com/repository/public</url>
</mirror>

在setting.xml文件<profiles>标签中添加仓库配置

<!-- maven repo  -->
<profile>
	<id>nexusmaven</id>

	<repositories>
		<repository>
			<id>nexus-maven</id>
			<url>http://ip:8081/repository/maven-public</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>nexus-maven</id>
			<url>http://ip:8081/repository/maven-public</url>
			<releases>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>always</updatePolicy>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>
</profile>

在setting.xml文件<activeProfiles>标签中激活上面的仓库配置

<activeProfiles>
	<activeProfile>nexusmaven</activeProfile>
</activeProfiles>
  • 方式二:pom中添加仓库配置
<repositories>
    <repository>
        <id>nexus-maven</id>
        <url>http://ip:8081/repository/maven-public</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>nexus-maven</id>
        <url>http://ip:8081/repository/maven-public</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

② 上传
在setting.xml文件<servers>标签中添加仓库节点账号密码

<server>
      <id>releases</id>
      <username>admin</username>
      <password>admin</password>
</server>
<server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin</password>
</server>
  • 方式一:上传打包项目在此项目pom文件中添加(这里的id一定要和上面server节点id一致)
<distributionManagement>
    <repository>
        <id>releases</id>
        <url>http://ip:port/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://ip:port/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

随后点击clear、deploy即可
image

  • 方式二:命令上传
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=D:\\aa\\bb.jar -Durl=http://ip:8081/repository/maven-releases/ -DrepositoryId=nexus
  • 方式三:批量上传
    mavenimport.sh
# end 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}/{} ;nabled=1

启动脚本

./maven-import.sh -u admin -p admin -r http://ip:8081/repository/maven-releases/
sleep 1
./maven-import.sh -u admin -p admin -r http://ip:8081/repository/maven-snapshots/

二、一些问题

无法向私服上传jar包,可能是网络限制,或者是跨域。把jar包全部放和私服同一服务器中可正常上传。

标签:maven,http,repository,nexus,ip,私服,Maven,搭建
From: https://www.cnblogs.com/a999/p/16738912.html

相关文章

  • Jmeter 和wrk压测环境搭建(Linux)
    1、申请压测服务器资源配置信息:centos7.9  4cores 16gb磁盘10G,与应用服务器互通,能访问外网2、安装工具2,1上传文件的工具rz\szyum-yinstalllrzszrz上传本......
  • 创建springboot+maven项目
    参考:https://www.cnblogs.com/ygfsy/p/13675122.html 目录结构-->在项目下创建一个Control包,用于返回给前端的接口   测试接口是否通 ......
  • 如何用 docker 搭建虚拟环境
    简述Docker是一个开源的应用容器引擎,基于Go语言开发。它的容器是进程级别完全使用沙箱机制,相互之间无任何调用,更为重要的是容器性能开销极低,不同容器之间又可以共享同一......
  • maven 拉取的 jar 包 功能逻辑 与 实际逻辑不同
    20220921sdk服务有一段根据url是否带参数的判断的实际代码:maven加载jar包后,运行都有报错,查看源码:直接省略了对url的判断,导致url没有加参数的场景都会抛数组......
  • 使用Spring boot基于Redis快速搭建分布式Session缓存方案
    使用Springboot基于Redis快速搭建分布式Session缓存方案大型web应用中,session的管理非常重要,这是单机存储满足不了的.通常有以下几种方法:将session持久化到数据库中.但......
  • 安全同学讲Maven间接依赖场景的仲裁机制
    简介: 去年的Log4j-core的安全问题,再次把供应链安全推向了高潮。在供应链安全的场景,蚂蚁集团在静态代码扫描平台-STC和资产威胁透视平台-哈勃这2款产品在联合合作下,优势互......
  • 如何使用腾讯云轻量应用服务器搭配WordPress搭建个人博客网站?
    WordPress是全球最流行的开源的博客和内容管理网站的建站平台,具备使用简单、功能强大、灵活可扩展的特点,提供丰富的主题插件。腾讯云轻量应用服务器提供WordPress应用镜......
  • 用 nodejs 搭建脚手架
    1前言1.1像我们熟悉的vue-cli,taro-cli等脚手架,只需要输入简单的命令taroinitproject,即可快速帮我们生成一个初始项目。在日常开发中,有一个脚手架工具可以用来提高工......
  • 用 nodejs 搭建脚手架
    1前言1.1像我们熟悉的vue-cli,taro-cli等脚手架,只需要输入简单的命令taroinitproject,即可快速帮我们生成一个初始项目。在日常开发中,有一个脚手架工具可以用来提高......
  • 搭建个人网站(本地服务器)
    学习视频:A.搭建虚拟机:https://www.bilibili.com/video/BV1dW411M7xL/ ----8,9集或:https://www.bilibili.com/video/BV1nx411q76v/B:搭建宝塔服务:https://www.bilibili......