欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

程序员文章站 2024-02-02 21:06:22
...

今天做不成的事,明天也不会做好。


各位同学大家好,今天给大家分享一下利用nexus3搭建自己的maven私有服务器;我们搭建私服的目的肯定是为了减少开发时jar包下载慢的情况或者我们有自己的内部工具类想通过依赖的形式导入到我们的项目中让我们进行使用。好处有很多,所以我们一起来看一下吧。


1.Maven私服搭建

1.1 更新yum以及内核

yum update -y

1.2 环境准备

maven私服需要java环境,所以我们先安装jdk,如果有此环境的同学可以不进行安装。安装成功后输入命令如下图所示

yum install java-1.8.0-openjdk.x86_64 

在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

1.3 安装Nexus3

这里我们使用比较新的版本进行maven私服的搭建。

#创建目录
mkdir -p /data/software/nexus
#切换目录
cd /data/software/nexus
#下载
wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.6.0-02-unix.tar.gz
# 解压
tar -zxvf nexus-3.6.0-02-unix.tar.gz
# 重命名
mv nexus-3.6.0-02 nexus
#为了安装问题,我们创建一个nexus用户(使用root用户启动会有安全警告,但是不影响使用,也可不进行新用户创建操作)
#添加新用户
adduser nexus
#赋权给文件夹
sudo chown -R nexus:nexus /data/software/nexus/nexus
#nexus.rc 文件, 修改启动用户,run_as_user=”nexus” 
vi /data/software/nexus/nexus/bin/nexus.rc

在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

在我们解压nexus-3.6.0-02-unix.tar.gz后,会有两个文件:nexus-3.6.0-02和sonatype-work,它们相当于程序和配置文件;一些关于nexus的配置和下载的jar包都会在sonatype-work里面,有点像maven的仓库。所以在做maven服务器迁移时,只需把sonatype-work文件通过命令,打包并解压到新服务器上的相同位置,那么我们的jar包和配置信息就可以批量转移了。

#创建软连接
ln -s /data/software/nexus/nexus/bin/nexus /etc/init.d/nexus
#将nexus命令添加到系统中
chkconfig --add nexus
chkconfig --levels 345 nexus on 
#启动nexus(启动时间大概1分钟)
service nexus start

好了,maven私服我就就算是搭建好了,默认端口为8081,只要输入ip:端口即可进入到maven私服管理页面了,如下图所示,起始页面还是很酷炫的
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

2.Maven私服管理页面简单介绍

这里只给同学们对这个页面做一个简单的介绍,具体的一些概念网上一搜一大把,所以只进行几张简单的截图以及对应的解释

2.1 登录

首先我们先进行登录,默认账号密码为admin admin123
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

3.使用Maven进行jar包上传(以ojdbc为例子)

3.1 Maven私服配置

好了,也对这个管理页面进行了简单的介绍,接下来我们直入主题,首先我们搭建私服的目的肯定是为了减少开发时jar包下载慢的情况或者我们有自己的内部工具类想通过依赖的形式导入到我们的项目中让我们进行使用,首先我们先在管理页面创建一个repository,其实主要是为了分组,最后我们都会将其划分到maven-public中
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

好了。我们管理页面的操作到这里就可以算是结束了,接下来我们要使用Maven将我们的私有工具类放到这个私服上。

3.2 Maven中settings.xml配置

接下来我们来将我们私有的工具类上传到我们的私服中,其实不管使用Gradle还是Maven都需要配置的是要上传的私服的url以及账号密码,以及上传jar的要起的GroupId、artifactId以及version的名字, 其他的只是一些语法上细节的不同了。好了 废话不多说,直接上Maven的步骤。

(前提:你的电脑必须有Maven,同时配置了Maven的环境变量;没有的同学,这里提供了Maven的下载[maven-3.5.0](https://download.csdn.net/download/qq_35992900/10470420);同时环境变量的配置网上比比皆是。)
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

上传项目所需配置(打开Maven目录下的conf里面的settings.xml文件)

  1. 配置本地仓库路径
    在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
  2. 配置私服的账号密码
    在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
  3. 配置私服的地址
    在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
    到这里,我们的信息配置就算是完成了,接下来,我们试一试jar包的上传。

在项目里面,jar包的依赖是这样的:

<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>11.2.0.1.0</version>
</dependency>

上传jar包的命令在cmd执行,它的语法是这样的:

mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar -Dfile=E:\ComputerSoftware\Maven\Reposity\com\oracle\ojdbc6\11.2.0.1.0\ojdbc6.jar -Durl=http://193.112.103.154:8081/repository/linlangleo -DrepositoryId=linlangleo
-DgroupId对应<groupId>
-DartifactId对应<artifactId>
-Dpackaging对应<version>

-Dfile是你本地jar包所在路径,注意,jar包名字不要有版本号
-Durl是我们创建的仓库地址,在下图可以找到
-DrepositoryId仓库的id,创建时候起的名字

在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

配置好后。我们使用mvn命令来执行上传,执行后我们来看一下我们的maven私服,如下图所示
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

好了 jar包已经成功上传,接下来我们要进行依赖并使用。

4.在Pom.xml进行Maven私服中的jar依赖

只要使用了我们刚配置的maven程序的项目,就可以引用我们上传的jar包了。
我们来创建一个新的Maven项目。来将我们刚上传的jar依赖下来进行使用:
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载
再去查看本地仓库是否下载成功
在Linux下使用nexus3搭建Maven私服并且使用Maven进行jar包上传以及依赖下载

好了,大功告成了,我们从maven私服的搭建到结合maven进行上传以及依赖使用整个流程就通了。希望对各位同学能有所帮助。

5.后记

其实nexus还有很多功能,有时间的同学也可以一起研究研究,例如设置代理,或者是用gradle上传和配置jar包,后面有空还是要学习一下。

相关标签: nexus linux maven