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

news2024/11/27 12:37:22

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 /home

ll

 mkdir nexus

cd

 mkdir nexus

vim 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.coloradmin.cn/o/1952071.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用flutter做圆形进度条 (桌面端)

前言 最近收到一个需求&#xff0c;需要使用flutter 来做一个圆形进度条&#xff0c;这可难倒我了&#xff0c;毕竟我是做前端的&#xff0c;flutter 之前接触的也少&#xff0c;但没办法&#xff0c;既然需求有了&#xff0c;也得硬着头皮上了&#xff0c;先来看看做的效果。…

简过网:大学生考公,一定要先好好看看这篇文章!

大家好&#xff0c;我是简过网&#xff0c;今天这篇文章我们来聊聊关于大学生考公的那些事儿&#xff0c;希望能给大学生们一点点的帮助&#xff01; 首先&#xff0c;可能有朋友会问了&#xff0c;大学生一般从什么时候开始备考公务员呢&#xff0c;在这里小编建议大家从大三…

《昇思25天学习打卡营第24天|基于MindSpore通过GPT实现情感分类》

基于MindSpore通过GPT实现情感分类 %%capture captured_output # 实验环境已经预装了mindspore2.2.14&#xff0c;如需更换mindspore版本&#xff0c;可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mind…

yolov5-7环境搭建训练自己的模型

1.下载代码 git clone https://github.com/ultralytics/yolov5 # clone可以切到5-7版本&#xff0c;也可以去github选标签下载 2.配置好conda环境&#xff0c;网上教程比较多&#xff0c;不做讲解&#xff0c;python3.8即可。 3.在环境里安装pyrtorch 按自己的需求选取&am…

每日一练,java05

目录 题目知识点&#xff1a;1.12.13.1 题目 选自牛客网 1.下列表述错误的是&#xff1f;&#xff08;&#xff09; A.int是基本类型&#xff0c;直接存数值&#xff0c;Integer是对象&#xff0c;用一个引用指向这个对象。 B.在子类构造方法中使用super()显示调用父类的构造…

第T6周:使用TensorFlow实现好莱坞明星识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 文章目录 一、前期工作1.设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据3. 查看数据 二、数据预处理1、加载数据2、数据可视化3、再…

【论文速读】| LLMCloudHunter:利用大语言模型(LLMs)从基于云的网络威胁情报(CTI)中自动提取检测规则

本次分享论文&#xff1a;LLMCloudHunter: Harnessing LLMs for Automated Extraction of Detection Rules from Cloud-Based CTI 基本信息 原文作者&#xff1a;Yuval Schwartz, Lavi Benshimol, Dudu Mimran, Yuval Elovici, Asaf Shabtai 作者单位&#xff1a;Ben-Gurion…

mfc100u.dll 文件缺失?两种方法快速修复丢失mfc100u.dll 文件难题

您的电脑是否遭遇了 mfc100u.dll 文件缺失的问题&#xff1f;这种情况通常由多种原因引起。在本文中&#xff0c;我们将介绍两种修复 mfc100u.dll 文件丢失问题的策略——一种是手动方法&#xff0c;另一种是自动修复的使用。我们将探讨如何有效地解决 mfc100u.dll 文件缺失的几…

Linux下git入门操作

0.创建仓库 可以按这个配置来&#xff0c;.gitignore中存放了上传时忽略的文件类型后缀。 1.clone仓库 在gitee上创建好仓库&#xff0c;点击克隆/下载&#xff0c; 复制地址fyehong/Linux_notes 。 在所需的文件夹中放置仓库。比如我在文件夹lesson9下存储仓库。就在less…

Python爬虫技术 第18节 数据存储

Python 爬虫技术常用于从网页上抓取数据&#xff0c;并将这些数据存储起来以供进一步分析或使用。数据的存储方式多种多样&#xff0c;常见的包括文件存储和数据库存储。下面我将通过一个简单的示例来介绍如何使用 Python 爬取数据&#xff0c;并将其存储为 CSV 和 JSON 文件格…

【数据结构】二叉树链式结构——感受递归的暴力美学

前言&#xff1a; 在上篇文章【数据结构】二叉树——顺序结构——堆及其实现中&#xff0c;实现了二叉树的顺序结构&#xff0c;使用堆来实现了二叉树这样一个数据结构&#xff1b;现在就来实现而二叉树的链式结构。 一、链式结构 链式结构&#xff0c;使用链表来表示一颗二叉树…

【机器学习】解开反向传播算法的奥秘

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 解开反向传播算法的奥秘反向传播算法的概述反向传播算法的数学推导1. 前向传播2…

3.k8s:服务发布:service,ingress;配置管理:configMap,secret,热更新;持久化存储:volumes,nfs,pv,pvc

目录​​​​​​​ 一、服务发布 1.service &#xff08;1&#xff09;service和pod之间的关系 &#xff08;2&#xff09; service内部服务创建访问 &#xff08;3&#xff09;service访问外部服务 &#xff08;4&#xff09;基于域名访问外部 &#xff08;5&#xff…

Prometheus各类监控及监控指标和告警规则

目录 linux docker监控 linux 系统进程监控 linux 系统os监控 windows 系统os监控 配置文件&告警规则 Prometheus配置文件 node_alert.rules docker_container.rules mysql_alert.rules vmware.rules Alertmanager告警规则 consoul注册服务 Dashboard JSON…

并发编程--volatile

1.什么是volatile volatile是 轻 量 级 的 synchronized&#xff0c;它在多 处 理器开 发 中保 证 了共享 变 量的 “ 可 见 性 ” 。可 见 性的意思是当一个 线 程 修改一个共享变 量 时 &#xff0c;另外一个 线 程能 读 到 这 个修改的 值 。如果 volatile 变 量修 饰 符使用…

车载录像机:移动安全领域的科技新星

随着科技的飞速发展&#xff0c;人类社会的各个领域都在不断经历技术革新。其中&#xff0c;车载录像机作为安防行业与汽车技术结合的产物&#xff0c;日益受到人们的关注。它不仅体现了人类科技发展的成果&#xff0c;更在安防领域发挥了重要作用。本文将详细介绍车载录像机的…

Spring Boot集成canal快速入门demo

1.什么是canal&#xff1f; canal 是阿里开源的一款 MySQL 数据库增量日志解析工具&#xff0c;提供增量数据订阅和消费。 工作原理 MySQL主备复制原理 MySQL master 将数据变更写入二进制日志&#xff08;binary log&#xff09;, 日志中的记录叫做二进制日志事件&#xff…

【QT】UDP

目录 核心API 示例&#xff1a;回显服务器 服务器端编写&#xff1a; 第一步&#xff1a;创建出socket对象 第二步&#xff1a; 连接信号槽 第三步&#xff1a;绑定端口号 第四步&#xff1a;编写信号槽所绑定方法 第五步&#xff1a;编写第四步中处理请求的方法 客户端…

Simulink代码生成: 基本模块的使用

文章目录 1 引言2 模块使用实例2.1 In/Out模块2.2 Constant模块2.3 Scope/Display模块2.4 Ground/Terminator模块 3 总结 1 引言 本文中博主介绍Simulink中最简单最基础的模块&#xff0c;包括In/Out模块&#xff08;输入输出&#xff09;&#xff0c;Constant模块&#xff08…

Postman测试工具详细解读

目录 一、Postman的基本概念二、Postman的主要功能1. 请求构建2. 响应查看3. 断言与自动化测试4. 环境与变量5. 集合与文档化6. 与团队实时协作 三、Postman在API测试中的重要性1. 提高测试效率2. 保障API的稳定性3. 促进团队协作4. 生成文档与交流工具 四、Postman的使用技巧1…