在ubuntu上搭建nexus私有仓库(指定版本以及jdk!)

前言

本来以为搭建一个nexus随随便便就好了,但是遇到了最新版本根本没办法在jdk17下面正常运行—起码我调了一下不知道怎么运行,我才知道。。。不升级版本其实是很有道理的。
这一篇是最新版本的尝试:
在ubuntu上搭建nexus私有仓库[失败草稿]
下面一篇文章让我醍醐灌顶:
解决Nexus 3.XX Jdk版本问题(亲测有效)

新的JDK不行,那我用旧的还不行吗?

版本指定:

openjdk-1.8

过程

安装jdk1.8:

apt-get install openjdk-8-jre

好了:
在这里插入图片描述

在官网下载 neuxs:

wget https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.67.1-01-unix.tar.gz

我本地下载速度有点慢,看来需要一些科技手段了。

下载完成后,请上传到服务器等待配置:
在这里插入图片描述

在服务器上面,解压缩:

tar -zxvf nexus-3.67.1-01-unix.tar.gz
ls 

在这里插入图片描述

------重命名nexus文件夹

mv nexus-3.67.1-01 /usr/local/nexus3
cd /usr/local
创建软连接
sudo ln -s nexus3 nexus
mkdir /usr/local/sonatype-work/

好了,先进行一部分配置:

vim bin/nexus.vmoptions
修改一下参数,防止占用内存过大。
如下图:

在这里插入图片描述
可以改小一点:
在这里插入图片描述

修改默认访问端口以及根目录:

vim etc/nexus-default.properties 

在这里插入图片描述

注意,默认端口8081很多人用的,使用前请检查一下是否已经占用了:

lsof -i:8081

给nexus分配账号:
ps:如果不分配账号那么是无法启动的,例如:
在这里插入图片描述

创建 nexus 用户
# sudo useradd nexus -M -s /sbin/nologin
注意,这条命令后续会出问题的,在我上一篇文章已经将坑都排出来了:
https://blog.csdn.net/cdnight/article/details/80673110
所以,正式的命令是新建普通的账号:
sudo useradd nexus -m -s /bin/bash
授权
chown -R nexus:nexus /usr/local/nexus
chown -R nexus:nexus /usr/local/sonatype-work/

打开 /usr/local/nexus/bin/nexus.rc 文件, 去掉 run_as_user 变量的注释
sudo vim /usr/local/nexus/bin/nexus.rc
run_as_user="nexus"


好了,测试一下能否正常运行:

/usr/local/nexus/bin/nexus run

结果:
在这里插入图片描述

这怕是jdk版本的问题了。。。
怎么做都不行,下面参考一下一位兄弟的文章:
解决Nexus 3.XX Jdk版本问题(亲测有效)

所以,nexus的新版本必须使用jdk1.8,刚刚下载的openjdk1.8就是在这里用的

在nexus脚本上面覆盖jdk位置:
在这里插入图片描述

就是:

-- 添加这一行上去。
INSTALL4J_JAVA_HOME_OVERRIDE="/usr/lib/jvm/java-1.8.0-openjdk-amd64"

测试一下能否正常运行:

bin/nexus run

有:
在这里插入图片描述

无法启动成功,gc的值比我分配给它的要多了。。怎么这东西这么吃内存的的???

改改参数:

在这里插入图片描述
变更为512m,然后:
在这里插入图片描述

在这里插入图片描述

启动成功。

好了,给nexus添加一下系统服务,方便开机启动。

/lib/systemd/system 创建 nexus.service
内容:

[Unit]
Description=Nexus3服务
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nexus/bin/nexus start
## ExecReload=/usr/local/@projectName@/service.sh restart
ExecStop=/usr/local/nexus/bin/nexus stop
PrivateTmp=True
[Install]
WantedBy=multiVersions-user.target

ps:如果你有域名的话,也可以用域名+nginx 来导向nexus。

nexus3中央仓库改为阿里云

参考:这里写链接内容
找到中央仓库

这里写图片描述

然后修改成:
这里写图片描述

http://maven.aliyun.com/nexus/content/groups/public/

idea使用私服maven及对应配置

参考:
这里写链接内容

首先,新建一个maven项目—自己新建吧。

然后,
这里写图片描述

这里写图片描述

看到本机的maven 配置文件,
这里写图片描述

打开来,然后:
这里写图片描述
添加我们的maven私服及servers—用来发布类库的。

格式如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <mirrors>
	<!--内部maven-->
	    <mirror>  
          <id>central</id>  
          <mirrorOf>*</mirrorOf>  
          <name>Central Repository</name>  
          <url>http://你仓库的地址/repository/maven-public/</url>  
      </mirror>  
        <!-- 阿里云仓库 -->
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>

        <!-- 中央仓库1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>

        <!-- 中央仓库2 -->
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
    </mirrors>
	<servers>     
     <server>  
         <id>nexus-releases</id>  
         <username>admin</username>  
         <password>你的密码</password>  
     </server>  
     <server>  
         <id>nexus-snapshots</id>  
         <username>admin</username>  
         <password>你的密码</password>  
     </server>    
 </servers>  
</settings>

发布快照及正式版本

maven(15),快照与发布,RELEASE与SNAPSHOT

在pom.xml文件最后添加distributionManagement发布管理节点:

这里写图片描述

例如:

    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://你的maven地址/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://你的maven地址/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

注意一下

    <groupId>net.funfunle</groupId>
    <artifactId>baselib</artifactId>
    <!--<version>1.0-SNAPSHOT</version>-->
    <version>1.0.1-RELEASE</version>

groupid这些,

    <groupId>net.funfunle</groupId>
    <artifactId>baselib</artifactId>
    <!--<version>1.0-SNAPSHOT</version>-->
    <version>1.0.1-RELEASE</version>

决定发布的是正式版本release还是快照snapshot的是

    <!--<version>1.0-SNAPSHOT</version>-->
    <version>1.0.1-RELEASE</version>

版本号及发布类型,有一点也需要注意,snapshot快照允许重复发布更新同一个版本,而release是不允许的,release每次发布版本号都要加的。

发布方式:
这里写图片描述

在mavenproject点击发布deploy。

好了,发布的结果如下:
在这里插入图片描述
查看一下nexus3是不是有结果了:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/571763.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图片hover放大效果

实现效果&#xff1a;一张图片&#xff0c;鼠标放上去时&#xff0c;出现放大效果 非常简单&#xff0c;两个关键词&#xff1a;hover和transform 对应的代码结构如下图 框架背景&#xff1a; Tips: transform结合不同的参数可以实现元素的位移、旋转、缩放 如果有任何疑问或…

针对icon报错

针对上篇文章生成图标链接中图标报错 C# winfrom应用程序添加图标-CSDN博客 问题&#xff1a;参数“picture”必须是可用作Icon的参数 原因&#xff1a;生成的ico图标类型不匹配 解决方法&#xff1a; 更改导出的ico类型

国产3D自研技术如何突围?眸瑞科技给3D建设、管理带来全新模式

眸瑞科技是全球领先的数字孪生引擎技术及服务提供商&#xff0c;它专注于让一切3D模型在全网多端轻量化处理与展示&#xff0c;为行业数字化转型升级与数字孪生应用提供成套的国产自研3D可视化技术、产品与服务。 引言 眸瑞科技是全球领先的数字孪生引擎技术及服务提供商&…

绿色便携方式安装apache+mysql+tomcat+php集成环境并提供控制面板

绿色便携方式安装带控制面板的ApacheMariaDBTomcatPHP集成环境 目录 绿色便携方式安装带控制面板的ApacheMariaDBTomcatPHP集成环境[TOC](目录) 前言一、XAMPP二、安装和使用1.安装2.使用 三、可能的错误1、检查端口占用2、修改端口 前言 安装集成环境往往配置复杂&#xff0c…

DHCP原理和配置

1、DHCP原理 &#xff08;1&#xff09;什么是DHCP DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)&#xff1a;给网络内的客户机自动分配IP地址由internet工作任务小组设计开发口专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议DHCP采用的是UDP作为传输…

Day 21 LAMP架构和DNS域名

LAMP架构简介 针对不同的后端开发语言&#xff0c;使用不同的架构&#xff0c;后端项目开发语言有&#xff1a;Java&#xff0c;PHP&#xff0c;Python...... 针对于PHP项目 LAMP架构 LinuxApacheMysql/MariadbPhp LNMP架构 LinuxNginxMysql/MariadbPhp 针对于Java项目 w…

百度安全多篇议题入选Blackhat Asia以硬技术发现“芯”问题

Blackhat Asia 2024于4月中旬在新加坡隆重举行。此次大会聚集了业界最杰出的信息安全专业人士和研究者&#xff0c;为参会人员提供了安全领域最新的研究成果和发展趋势。在本次大会上&#xff0c;百度安全共有三篇技术议题被大会收录&#xff0c;主要围绕自动驾驶控制器安全、跨…

C++ 泛型编程篇(一) 模板初阶

目录 〇、为什么需要模板&#xff1f; 一、函数模板 1. 函数模板概念 2. 函数模板格式 3. 函数模板的原理 4. 隐式实例化和显示实例化 5. 无法推导模板类型的情况 a. 只设置一个模板&#xff0c;但两个不同的参数类型使用模板 b. 函数体中使用了模板 6. 同名普通函数和模板函…

字符串型漏洞注入

SQL注入是一种严重的安全漏洞&#xff0c;它允许攻击者在不受控制的情况下执行任意的SQL代码。这种攻击通常发生在Web应用程序没有正确验证或转义用户输入的情况下。字符串型注入是SQL注入的一种形式&#xff0c;它涉及到在应用程序的输入框中插入恶意的字符串&#xff0c;以干…

K8S--常用的命令

原文网址&#xff1a;K8S--常用的命令-CSDN博客 简介 本文介绍K8S常用的命令。 官网 简略用法&#xff1a;https://kubernetes.io/zh-cn/docs/reference/kubectl/ 详细用法&#xff08;有示例&#xff09;&#xff1a;https://kubernetes.io/docs/reference/generated/kub…

MINIO安装的方法(WindowsLiunx)

2 minio安装教程 注&#xff1a;官方中文文档&#xff1a;MinIO对象存储 Windows — MinIO中文文档 | MinIO Windows中文文档 Liunx 安装方&#xff1a;MinIO对象存储 Linux — MinIO中文文档 | MinIO Linux中文文档 2.1 下载地址 https://dl.min.io/server/minio/…

Quarto Dashboards 教程 1:Overview

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度&#xff0c;分享官方文档的中文教程。软件可能随时更新&#xff0c;建议配合官方文档一起阅读。推荐先按顺序阅读往期内容&#xff1a; 1.quarto 教程 1&#xff1a;Hello, Quarto 2.qu…

基于python+django+mysql农业生产可视化系统

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

Tiny11作者开源:利用微软官方镜像制作独属于你的Tiny11镜像

微软对Windows 11的最低硬件要求包括至少4GB的内存、双核处理器和64GB的SSD存储。然而&#xff0c;这些基本要求仅仅能保证用户启动和运行系统&#xff0c;而非流畅使用 为了提升体验&#xff0c;不少用户选择通过精简系统来减轻硬件负担&#xff0c;我们熟知的Tiny11便是其中…

【linux】Linux第一个小程序-进度条

1. 预备知识&#xff1a;回车和换行 回车&#xff08;Carriage Return&#xff0c;CR&#xff09;&#xff1a; 在早期的机械打字机中&#xff0c;回车指的是将打字机的打印头移回到行首的操作&#xff0c;这样打印头就可以开始新的一行的打印。在ASCII编码中&#xff0c;回车用…

【VueUse】重新定义状态管理在 Vue 中的体验

在 Vue 生态系统中&#xff0c;状态管理一直是开发者们关注的焦点之一。而随着 VueUse 的出现&#xff0c;我们迎来了一种全新的方式来处理状态管理&#xff0c;它让我们能够以更简单、更灵活的方式来管理应用程序的状态。 在本文中我们将深入探讨 VueUse 中与状态管理相关的内…

第一篇【传奇开心果系列】Python深度学习库技术点案例示例:深度解读深度学习在自动驾驶领域的应用

传奇开心果博文系列 系列博文目录Python深度学习库技术点案例示例系列 博文目录前言一、深度学习在自动驾驶方面的应用介绍二、目标检测和识别示例代码三、路况感知示例代码四、行为预测示例代码五、路径规划示例代码六、自动驾驶控制示例代码七、感知融合示例代码八、高精度地…

基于Springboot的点餐平台

基于SpringbootVue的点餐平台的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页展示 菜品信息 菜品资讯 购物车 后台登录 用户管理 菜品分类管理 菜品信息管理 …

npm、yarn与pnpm详解

&#x1f525; npm、yarn与pnpm详解 &#x1f516; 一、npm &#x1f50d; 简介&#xff1a; npm是随Node.js一起安装的官方包管理工具&#xff0c;它为开发者搭建了一个庞大的资源库&#xff0c;允许他们在这个平台上搜索、安装和管理项目所必需的各种代码库或模块。 &#…

【网页在线小游戏源码】

网页在线小游戏源码 效果图部分源码领取源码下期更新预报 效果图 部分源码 index.html <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta id"viewport" na…