Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)

简介: Nexus【部署 01】CentOS 7.5 环境下搭建私有Maven仓库实录(启动问题处理+安装文件 nexus-3.4.0-02-unix.tar.gz 云盘链接)

1. 为什么要搭建私有Maven仓库

废话少说,只说主要原因,我现在参与的项目各个模块都是以微服务形式进行部署的,包括权限验证模块,我之前参与过一个项目,使用的是自己封装的权限验证 starter 依赖,使用的时候引入依赖即可,前者要进行服务间的数据请求,显然是后者更好。

将 starter 打成 jar 包然后引入项目也是可行的,这样显然不够优雅(版本升级麻烦),另一种方式就是搭建一个内部的maven仓库,引入简单还能保证库的私密性。

2. 准备

首先是下载安装文件,官网 当前最新版是 nexus-3.35.0-02-unix.tar.gz 速度很慢 🐌 这里分享一下老版本 nexus-3.4.0-02-unix.tar.gz 以下内容也是根据此文件进行说明。

链接:https://pan.baidu.com/s/1S6JCDSbtnFreOHZfmj-F3Q

提取码:who9

需要Java运行环境,我当前使用的是OpenJDK11【有坑预警】:

[root@aliyun ~]# java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

3. 安装、配置、启动

3.1 安装

# 解压安装文件
tar -zxvf nexus-3.4.0-02-unix.tar.gz
# 将解压出来的两个文件夹 移动到 /usr/local/nexus/ 下【位置随意】
mv ./nexus-3.4.0-02/ /usr/local/nexus/
mv ./sonatype-work/ /usr/local/sonatype-work/

3.2 配置

1️⃣ 配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内:

# 配置环境变量:
vim /etc/profile.d/my_env.sh
# 添加 NEXUS_HOME 及 bin
export NEXUS_HOME=/usr/local/nexus
export PATH=$PATH:$NEXUS_HOME/bin
# 使得配置的环境变量立即生效:
  # 首先是要赋权限【只操作一次就行】
  chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh

2️⃣ 修改 $NEXUS_HOME/bin/nexus.rc 文件,将 run_as_user 配置放开,Nexus 跟很多 Linux 应用一样不推荐使用 root 用户,我们可以暂用:

# 释放并修改 run_as_user
vim /usr/local/nexus/bin/nexus.rc
  run_as_user="root"

3️⃣ 修改 $NEXUS_HOME/etc/nexus-default.properties 的 IP 和端口:

# 修改 nexus-default.properties 的 host 和 port
vim /usr/local/nexus/etc/nexus-default.properties 
  # Jetty section
  application-port=8087
  application-host=tcloud

4️⃣ 添加到系统服务:

ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus

3.3 启动

# 后台启动
[root@aliyun ~]# service nexus start
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be at least 1.8 and at most 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.
# 使用最新版本 nexus-3.35.0-02-unix.tar.gz 启动时依然报一下信息
[root@aliyun ~]# service nexus start
No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.

The version of the JVM must be at least 1.8 and at most 1.8.这意思不就是要用 JDK1.8 嘛 😅 换用最新版本的 nexus-3.35.0-02-unix.tar.gz 启动时报:The version of the JVM must be 1.8. 实锤了,需要使用JDK1.8 😅

4. 换服务器重新安装配置启动

# 换另一台云服务器 JDK为1.8
[root@tcloud ~]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

在新服务器上的安装过程跟前边的一样,这里省略了:

# 【再次启动】这次用前台启动 可以看日志
[root@tcloud ~]# service nexus run
WARNING: ************************************************************
WARNING: Detected execution as "root" user.  This is NOT recommended!
WARNING: ************************************************************
Starting nexus
# 省略部分日志信息【这样就是启动成功了】
-------------------------------------------------
Started Sonatype Nexus OSS 3.4.0-02
-------------------------------------------------

❗️❗️❗️【注意】

启动成功 后的运行日志文件为 /sonatype-work/nexus3/log/nexus.log

启动失败 的日志文件为 $NEXUS_HOME/nexus/hs_err_pidxxxx.log

5. 验证

默认端口是:8081,我修改成了8087,默认用户名是:admin,密码:admin123。登录前只可以查看仓库信息:

登录后才可以进行设置,比如添加代理源:

Browse 可以查看当前有多少仓库,搭建好的 Nexus,默认会带有一些maven仓库,一般使用这些仓库就足够了,当然了,我们为的不是这些,而是上传自己的依赖。

默认仓库说明【我们可以在设置->仓库里查看详情】:

  • maven-central:maven中央库,默认从 https://repo1.maven.org/maven2/ 拉取Jar包。
  • maven-releases:私库发行版Jar,初次安装请将Deployment policy设置为Allow redeploy。
  • maven-snapshots:私库快照(调试版本)Jar
  • maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml 或项目 pom.xml 中使用。

仓库类型:

  • Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。maven-public就是一个Group类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x默认Releases,Snapshots, Central,当然你也可以自己设置。
  • Hosted:私有仓库,内部项目的发布仓库,专门用来存储我们自己生成的Jar文件。
  • 3rd party:未发布到公网的第三方jar (3.x去除了)。
  • Snapshots:本地项目的快照仓库。
  • Releases: 本地项目发布的正式版本。
  • Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径),如可配置阿里云maven仓库。
  • Central:中央仓库。
  • Apache Snapshots:Apache专用快照仓库(3.x去除了)。

6. 总结

Nexus 的安装配置并不复杂,随后会写如何使用,感谢支持~

目录
相关文章
|
10月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
219 3
|
10月前
|
Java Maven
Maven【5】在IDEA环境中配置和使用Maven
Maven【5】在IDEA环境中配置和使用Maven
222 1
|
5月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
273 1
|
7月前
|
Oracle Java 关系型数据库
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
这篇文章提供了在CentOS 7上安装Maven的详细步骤,包括从官网下载Maven、创建文件夹、上传和解压Maven安装包、配置环境变量、设置Maven源为阿里云、指定jar包仓库位置、配置JDK版本,并验证安装是否成功。
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
|
7月前
|
Java Linux Maven
部署安装maven和mvnd
部署安装maven和mvnd
120 6
|
9月前
|
Java Linux 测试技术
Maven命令大全:从安装到部署,一篇文章带你玩转Maven
本文由木头左介绍Maven,一个用于Java项目管理的工具,涉及Maven的安装配置(Windows和Linux)及核心命令,包括install、package、compile、clean、deploy、test、verify和site。通过这些命令,可以实现构建、打包、编译、测试、部署和生成项目站点等操作。
|
8月前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
163 0
|
10月前
|
Java 应用服务中间件 Apache
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目
141 1
|
9月前
|
Linux
centos7安装maven3.8.1并配置阿里云镜像
centos7安装maven3.8.1并配置阿里云镜像
744 0
|
10月前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
167 1

热门文章

最新文章