Maven安装及独立镜像服务器Nexus搭建

Maven安装及独立镜像服务器Nexus搭建

1. 写在前面

本文介绍Maven的安装(包括windows下与Linux下),以及基本使用的方法,包括修改Maven镜像,搭建Maven私服(Nexus,本文只讲述于Linux下安装的方法),以及向镜像服务器提交我们的代码(使用IDEA提交代码与命令行提交代码),包括稳定版与开发版的提交方式。本博文中提到的相关知识点经过博主实践得到,在实践过程中出现问题博主可以解答问题缘由。

2. Maven安装

Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,并且可重复使用,Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。

上述内容参照自 https://www.yiibai.com/maven/,对于Maven,相信做开发的人或多或少都接触到了,使用Maven我们可以更加方便的进行依赖包管理,通过简单的配置即可引用各种代码包,对我们的开发提供了巨大的助力。而对于一个团队或一个企业,会有大量的开发完成的公共功能被其他项目引用,这时,就需要本文所讲述的Maven私服来提供一个独立的镜像环境地址。在下文将继续说明。

2.1 在Windows下安装

Maven安装包下载:apache-maven-3.6.3-bin.tar.gz
Maven的安装并不难,只需要下载相应的压缩包,直接解压到我们需要的环境即可,这里详细说一下在Windows下进行环境配置的问题。我们想要让我们的Maven全局生效,可以方便的通过命令语句运行各种命令,我们需要配置相应的环境变量。当然,要想运行Maven,我们需要Java环境,Java环境的安装可以参照这批篇博文:JDK安装及环境配置
Maven环境配置
按照上图所示,进行环境配置配置完成之后进行环境的测试,打开cmd控制台,运行下列语句:

mvn -version

如果环境没有问题,会出现下面的结果:
环境检测
如果没有出现上述类似语句,则环境没有被配置好,需要再次进行配置,检查自己的配置信息。Maven安装及环境配置就说到这里。

2.2 在Linux下安装

Maven安装包下载:apache-maven-3.6.3-bin.tar.gz
在Liunx安装Maven实际上操作也很简单,但是首先也是需要有Java环境,在Linux下安装Java环境可以参照这篇博文:JDK安装及环境配置
这里以CentOS操作系统作为案例说明,首先下载压缩包,放置于linux中,这里我将压缩包存储在 /home中,运行下列语句:

cd /home
tar -zxvf apache-maven-3.6.3-bin.tar.gz /usr/local/maven

将安装包解压到 /usr/local/maven中,接下来配置环境,在 /etc/profile内配置环境,执行下列语句:

vim /etc/profile

将下列语句添加到profile中:

export MAVEN_HOME=/usr/local/maven   #这里使用你解压的路径
export PATH=${PATH}:${MAVEN_HOME}/bin

配置完成后执行下列语句:

source /etc/profile  #使配置文件生效

上述操作要求会使用vim编辑器,如果不会使用可以百度一下如何在vim中编辑本文。
上述操作完成后,运行下列语句检查版本信息:

mvn -version

当出现版本信息即为安装成功。

2.3 配置镜像环境

使用Maven可以方便我们的包管理,但是下载各种环境包时,如果使用Maven默认的中央镜像其下载速度是不太友好的,我们一般会配置阿里的中央镜像作为镜像使用,会加快我们环境包的下载速度。
打开配置文件(linux 与 Windows下一致,conf 下 settings.xml),这里讲解下配置文件中的一些配置信息:
配置本地存储地址:

<localRepository>D:\repository</localRepository>

环境镜像配置在mirrors内部进行配置,这里直接给出镜像环境:

<!-- 阿里云仓库 -->
<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>

修改完成之后可以打开一个Maven项目测试一下下载的速度,应该是有很大的改观。
镜像环境配置就讲述到这里,按照操作后如果还是有问题,可以在下方留言,博主会尽快解答。

3. Nexus安装及配置

Nexus可以在部署之后,管理我们的依赖包,我们可以将开发完善的功能上传到私服中供其它模块调用,在企业中,建立私服可以有效控制我们的环境包,方便我们的开发,并且在局域网内进行部署,可以保护我们的环境包资源。

3.1 Nexus安装

这里博主推荐的Nexus安装跟Maven的安装同样的简单,这里先提供一下Nexus的下载资源:
Nexus下载地址:nexus-3.20.0-04-unix.tar.gz
下载完成后,解压压缩包到我们需要的地址下:

tar -zxvf nexus-3.20.0-04-unix.tar.gz /usr/local/nexus
cd /usr/local
ls -l

执行完上述命令后,即可看到路径下有下列两个文件夹:nexus 与 sonatype-work
解压后路径下的文件夹
这里我们更改一下默认的运行用户,如果不更改会出现错误信息,但是不会影响运行:

/etc/profile #运行该命令后,将下面一条语句加入进去
export RUN_AS_USER=root

nexus默认的启动端口为8081,如果需要更改,可以进行下列操作:

cd /usr/local/nexus/conf
vim nexus.properties  #19行application-port=8081改为指定即可

nexus启动与其它相关命令:

/usr/local/nexus/bin ./nexus start #启动
/usr/local/nexus/bin ./nexus stop #停止

启动nexus后,按照默认的8081端口,可以访问

http://ip:post

之后即可出现nexus系统的界面:
nexus启动界面
之后按照提示进行用户名和密码的操作,注意这里的用户名与密码要妥善保管,笔者设定用户名为 admin ,密码为 123456 ,方便下文中的配置讲解。默认的用户名为admin,默认的密码(后期版本)会在登录页面上有提示。密码在/nexus-data/admin.password中。

3.2 配置私服

配置私服之前,首先说明一下nexus的管理界面的分布及一些模块的功能。首先上一张管理平台界面的图片:
nexus管理平台
在未登录时的界面如上图所示,可以看到右上角有登录的按钮,用作登录,左侧一个tab栏,tab栏中有Welcome,search,与Browse,这里只说明一下Browse,点开这里面可以看到很多的仓库,这里面的仓库有一些是默认的仓库,公开的仓库都可以在这里看到,当登陆完成之后,对jar环境的管理也是在这里。
Browse截图
登录之后,可以看到界面上多了一个齿轮一样的图案,点击之后可以看到如下的界面:
登陆后界面截图
可以看到,有很多的配置,这里不一一详述各种是什么,这里讲述一下如何添加仓库。点击仓库按钮,之后可以看到下列的内容:
仓库管理
点击Create repository,可以看到有很多的选项,这里首先说明几个问题:

hosted 类型的仓库,内部项目的发布仓库
releases 内部的模块中release模块的发布仓库
snapshots 发布内部的SNAPSHOT模块的仓库
3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
proxy 类型的仓库,从远程中央仓库中寻找数据的仓库
group 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

这里我们首先新建一个名为maven-releases的仓库,选择maven2 hosted,之后填写相应的内容,再创建一个maven-snapshots ,同上,创建完成之后继续下面的操作。

4. 私服使用

4.1 修改本地Maven配置

这里直接贴上代码,后面再说明:

	<!--这里配置我们刚才创建的user用户所对应的releases-->
    <server>
        <id>releases</id>
        <username>admin</username>
        <password>*****</password>
    </server>
    <server>
        <id>maven-public</id>
        <username>admin</username>
        <password>*******</password>
    </server>
    <!--这里配置我们刚才创建的user用户所对应的Snapshots-->
    <server>
        <id>Snapshots</id>
        <username>admin</username>
        <password>*******</password>
    </server>

上面配置了我们连接各仓库需要的密码与账号名,配置完成之后我们修改一下中央镜像,注意,将我们的镜像放置于最上面,这样才会首先读取我们的仓库。

4.2 提交本地代码到私服

要想提交本地的代码,首先需要在我们的maven项目中做下列配置:

<distributionManagement>
        <!--配置线上releases仓库地址,只要是正式版本都会上传到该地址(注意要和settings.xml文件里面的配置名称相同)-->
        <repository>
            <id>releases</id>
            <url>http://您的ip:8081/repository/maven-releases/</url>
        </repository>
        <!--配置线上Snapshots仓库地址,只要是快照版本都会上传到该地址(注意要和settings.xml文件里面的配置名称相同)-->
        <snapshotRepository>
            <id>Snapshots</id>
            <url>http://您的ip:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <executions>
                    <execution>
                        <id>deploy</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>deploy</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

配置完成之后,我们可以直接 deploy,之后即可在nexus私服中的仓库中看到我们的新项目的仓库内容。

4.3 从私服获取提交的代码

获取提交的内容跟普通的依赖引入一样,我们可以在nexus管理界面中点击我们需要引入的依赖,即可看到有自动生成的引用的语句:
自动引用语句

4.4 Maven依赖版本介绍

在这里我们可以看到我们在配置仓库资源的时候就配置了两个仓库,一个是releases,另一个是snapshots版本。这里简单说明一下这两个版本的差异:

releases 版本表示比较稳定的版本,私服中不允许提交两个同版本的环境,如果提交同版本会报错

snapshots 版本表示还在开发中且会经常修改的版本,这种版本可以同一个版本号提交多次,nexus会自动根据提交的时间生成不同的版本信息

5. 写在后面

本文中出现的下载链接如果不能下载请留言,博主可以发送到留言者的邮箱中。本文讲解了Maven的安装与基本配置,以及nexus私服的搭建步骤,提供了相关的资源的下载资源。如果本文讲解有问题的地方,希望读者可以留言,笔者将会改正错误的地方。

猜你喜欢

转载自blog.csdn.net/weixin_43071717/article/details/104568791