当前位置: 首页 > news >正文

maven介绍 搭建Nexus3(maven私服搭建)

Maven是一个强大的项目管理工具,它基于项目对象模型(POM:Project Object Model)的概念,通过XML格式的配置文件(pom.xml)来管理项目的构建 

Maven确实可以被视为一种工程管理工具或项目自动化构建工具。它不仅仅是一个工具,而是一种理念和一套规范,用于帮助开发者管理和构建项目。Maven通过定义项目的构建生命周期、依赖关系以及插件机制,实现了对项目构建过程的自动化和标准化管理。

  1. 远程仓库(中央仓库(不在本地的仓库就是中央仓库)  镜像仓库  私有仓库)
  2. 生命周期  常用四个(clean     install   deploy  package(包含install  test 所以要把 这个点上 就没有test了)

官网下载Nexus

下载Nexus Repository OSS |索纳型 (sonatype.com)

前提是你服务器买好了  docker安装好了   下面是我整理的docekr安装  

Linux 创建虚拟机内存 +安装docekr+-CSDN博客

或者 

连接上虚拟机直接上命令

cd /usr/

mkdir swap

cd swap/

创建空间 dd if=/dev/zero of=/usr/swap/swapfile bs=1M count=4096

设置交换等等 mkswap /usr/swap/swapfile

 激活 swapon /usr/swap/swapfile

vim /etc/fstab里面放

/usr/swap/swapfile swap swap defaults 0 0

sudo yum install -y yum-utils

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

然后 

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://hub.uuuadc.top","https://docker.anyhub.us.kg","https://dockerhub.jobcher.com","https://dockerhub.icu","https://docker.ckyl.me","https://docker.awsl9527.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

如果报这个错误Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.

说明你没有弄好 需要去/etc/docker/daemon.json 里面修改格式

{"registry-mirrors": ["https://hub.uuuadc.top","https://docker.anyhub.us.kg","https://dockerhub.jobcher.com","https://dockerhub.icu","https://docker.ckyl.me","https://docker.awsl9527.cn"]
}

在去sudo systemctl daemon-reload

sudo systemctl restart docker

docker 安装完毕

开始安装 nexus 

docker pull sonatype/nexus3:3.49.0


 

cd /cd /homellmkdir nexuscdmkdir nexusvim deployNexus.sh

脚本里放

#!/bin/bash
docker run -d \--restart=always \--name=nexus \--network host  \--privileged=true \-eINSTALL4J_ADD_VM_PARAMS="-Xms256M -Xmx512M -XX:MaxDirectMemorySize=512M" \sonatype/nexus3:3.49.0

sh deployNexus.sh && docker logs -f -t nexus

成功

测试一下看有没有绑定 curl 127.0.0.1:8081

没毛病 继续

把端口放开就可以访问了

这个时候登录出现这个

意思你要去服务器上操作

docker exec -it nexus cat /nexus-data/admin.password
回车后会给你字符串 你复制这个去这个界面登录

用户名 admin  密码就是刚刚回车的内容 记住 admin用户名是不能改变的 只能修改密码

现在安装完了 登录完了 开始进入主题

  • aven私服M

使用前说明

nexus默认已建好4个库,简单解析下各个库的作用
maven-central 默认配好的中央仓库,指向https://repo1.maven.org/maven2/
maven-releases 一般用于自己存放自己开发项目的稳定版本,默认不能重复发布,即deploy,可以设置为允许重复deploy
maven-snapshots 一般用于存放自己开发项目的快照版本,默认允许重复发布
maven-public 组合库,一般是组合以上三种库,通常在项目中配置这个仓库

group:仓库聚合,默认是releases>snapshots>central,可以在仓库管理界面引入其他配置的库,并设置顺序
hosted:私有仓库,存放自己开发的jar
snapshots:本地项目的快照仓库
releases: 本地项目发布的正式版本
proxy:代理类型,可以配置aliyun的仓库
central:中央仓库

 

nexus仓库类型主要分为三种

  • proxy 远程代理仓库jar放置的目录
  • hosted 本地仓库jar放置的目录,我们一般部署自己的jar到这个类型的仓库
  • group远程代理仓库jar和本机仓库jar

环境配置

可以创建属于自己的

选择代理模式

远程仓库改为阿里云远程仓库

https://maven.aliyun.com/repository/public

 去公共

进去 点击按钮把他拉过来

把阿里云的优先级提到公共仓库

点击public的URL按钮就出现这个地址

开始搭建自己的 找到你Maven目录下面的 复制一份 改个你知道的名字 我是2112

然后点2112文件进去修改

找到这个位置 修改成你前面设置的密码

四、修改本地maven配置

打开本地的maven下的conf/settings.xml

加入servers , 您的私服账户和密码,确保有权限   # server.id(muyu-maven)必须和mirror.id/repository.id(muyu-maven)保持一直

 <servers>
    <server>
      <id>maven-releases</id>
      <username>用户名</username>
      <password>密码</password>
    </server>
    <server>
      <id>maven-snapshots</id>
      <username>用户名</username>
      <password>密码</password>
    </server>
  </servers>

2.配置私服地址 

<mirror>
      <id>maven-central</id>
      <mirrorOf>*</mirrorOf>
      <name>my maven resp</name>
      <url>http://ip:端口/repository/maven-public/</url>
    </mirror>

查看方法

 

然后变成这个 就去

  • clean   
  • install

等待下载就行了 完事了

私服上传

用户配置

<server>
  <id>muyu-releases</id>
  <username>用户名</username>
  <password>密码</password>
</server>

上传路径配置

 <distributionManagement>
    <repository>
        <id>muyu-releases</id>
        <name>muyu-releases</name>
        <url>http://IP:8081/repository/maven-releases/</url>
    </repository>    
</distributionManagement>

源码插件

 <build>
    <plugins>
        <!-- 要将源码放上去,需要加入这个插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
                <attach>true</attach>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

忽略程序包 

 <!-- 加入maven deploy插件,当在deploy时,忽略些model-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>

http://www.lryc.cn/news/408189.html

相关文章:

  • 电商项目之如何判断线程池是否执行完所有任务
  • 【前端 15】Vue生命周期
  • PCIe总线-Linux内核PCIe软件框架分析(十一)
  • 视觉SLAM第二讲
  • mysql1055报错解决方法
  • Java的@DateTimeFormat注解与@JsonFormat注解的使用对比
  • 德国云手机:企业移动办公解决方案
  • 【React】useState:状态管理的基石
  • 商品中心关于缓存热key的解决方案
  • 【Python系列】Parquet 数据处理与合并:高效数据操作实践
  • 大脑自组织神经网络通俗讲解
  • org.springframework.context.annotation.DeferredImportSelector如何使用?
  • 缓慢变化维
  • Vue常用的指令都有哪些?都有什么作用?什么是自定义指令?
  • kettle从入门到精通 第八十一课 ETL之kettle kettle中的json对象字段写入postgresql中的json字段正确姿势
  • 计算机网络实验-RIP配置与分析
  • 33.【C语言】实践扫雷游戏
  • git学习笔记(总结了常见命令与学习中遇到的问题和解决方法)
  • 【计算机网络】TCP协议详解
  • 2.3 大模型硬件基础:AI芯片(上篇) —— 《带你自学大语言模型》系列
  • Java | Leetcode Java题解之第279题完全平方数
  • JS逆向高级爬虫
  • 基于Golang+Vue3快速搭建的博客系统
  • DVWA中命令执行漏洞细说
  • 【YOLOv5/v7改进系列】引入中心化特征金字塔的EVC模块
  • 【QT】常用控件(概述、QWidget核心属性、按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
  • 【Python】字母 Rangoli 图案
  • html+css 实现水波纹按钮
  • 科技与占星的融合:AI 智能占星师
  • 判断字符串,数组方法