小伙伴问我:如何搭建Maven私服?我连夜肝了这篇实战文章!!

这里,我就直接以一张图来说明小伙伴的疑问吧。

在这里插入图片描述

假期不忘学习的读者,日后必然是公司的栋梁之才呀!加油!

那么,接下来,我们就一起来搭建Maven私服环境吧!

环境说明


环境: CentOS 6.8、 JDK8、 Sonatype Nexus、 Maven

IP:192.168.50.131

root 用户操作

安装Nexus


前提: 已安装 JDK8 并配置好了环境变量,小伙伴们自行搭建JDK8环境,这里我就不再赘述了。相信小伙伴们都能够正确搭建JDK8环境。

下载Nexus

下载Nexus(这里,我使用的是: nexus-2.11.2-03-bundle.tar.gz) ,下载地址:http://www.sonatype.org/nexus/go/ ,我们也可以在服务器的命令行输入如下命令下载nexus-2.11.2-03-bundle.tar.gz安装文件。

wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz

也可以到链接:https://download.csdn.net/download/l1028386804/12523592 下载

解压Nexus

mkdir nexus

tar -zxvf nexus-2.11.2-03-bundle.tar.gz -C nexus

cd nexus

ls

nexus-2.11.2-03 sonatype-work

(一个 nexus 服务,一个私有库目录)

编辑 Nexus

编辑 Nexus 的 nexus.properties 文件,配置端口和 work 目录信息(保留默认)

cd nexus-2.11.2-03

ls

bin conf lib LICENSE.txt logs nexus NOTICE.txt tmp

查看目录结构, jetty 运行

cd conf

vi nexus.properties

Jetty section

application-port=8081

application-host=0.0.0.0

nexus-webapp=${bundleBasedir}/nexus

nexus-webapp-context-path=/nexus

Nexus section

nexus-work=${bundleBasedir}/…/sonatype-work/nexus

runtime=${bundleBasedir}/nexus/WEB-INF

编辑 nexus 脚本,配置 RUN_AS_USER 参数

vi /usr/local/nexus/nexus-2.11.2-03/bin/nexus

#RUN_AS_USER=

改为:

RUN_AS_USER=root

防火墙中打开 8081 端口

vi /etc/sysconfig/iptables

添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT

保存后重启防火墙

service iptables restart

启动 nexus

/usr/local/nexus/nexus-2.11.2-03/bin/nexus start


WARNING - NOT RECOMMENDED TO RUN AS usr/local


Starting Nexus OSS…

Started Nexus OSS.

访问nexus

浏览器中打开: http://192.168.50.131:8081/nexus/

在这里插入图片描述

登录nexus

默认用户名admin,默认密码admin123。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到此, Nexus 已安装完成, 接下来是 Nexus 的配置

Nexus 配置(登录后)


设置管理员邮箱

菜单 Administration/Server 配置邮箱服务地址(如果忘记密码,可以通过该邮箱找回密码)

在这里插入图片描述

设置用户邮箱

给用户配置邮箱地址,方便忘记密码时找回:

在这里插入图片描述

用户修改密码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

仓库类型

在这里插入图片描述

  • group 仓库组: Nexus通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库;

  • hosted 宿主仓库: 主要用于发布内部项目构件或第三方的项目构件 (如购买商业的构件)以及无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)proxy 代理仓库: 代理公共的远程仓库;

  • virtual 虚拟仓库: 用于适配 Maven 1;

一般用到的仓库种类是 hosted、 proxy。

Hosted 仓库常用类型说明:

  • releases 内部的模块中 release 模块的发布仓库

  • snapshots 发布内部的 SNAPSHOT 模块的仓库

  • 3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

如果构建的 Maven 项目本地仓库没有对应的依赖包,那么就会去 Nexus 私服去下载,如果Nexus私服也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是 proxy。Nexus 私服下载成功后再下载至本地 Maven 库供项目引用。

设置 proxy 代理仓库

设置 proxy 代理仓库(Apache Snapshots/Central/Codehaus Snapshots)准许远程下载,如下所示。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Maven 本地库的安装与配置


下载Maven

到链接http://maven.apache.org/download.cgi 下载Maven

配置Maven环境变量

vim /etc/profile

MAVEN_HOME=/usr/local/maven

JAVA_HOME=/usr/local/jdk

CLASS_PATH=$JAVA_HOME/lib

PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:MAVEN_HOME/bin:$PATH

export JAVA_HOME MAVEN_HOME CLASS_PATH PATH

source /etc/profile

配置本地Maven

拷贝Maven的conf目录下的配置文件settings.xml,重命名为settings-lyz.xml,修改配置文件后的内容如下:

<?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”>

D:/Maven_Repository/.m2/repository

true

false

org.mortbay.jetty

org.jenkins-ci.tools

nexus-releases

deployment

deployment123

nexus-snapshots

deployment

deployment123

lyz

false

1.8

nexus

http://192.168.50.131:8081/nexus/content/groups/public/

true

true

nexus

http://192.168.50.131:8081/nexus/content/groups/public/

true

true

lyz

其中,配置文件中的

D:/Maven_Repository/.m2/repository

说明本地仓库位于D:/Maven_Repository/.m2/repository目录下。

配置文件中的如下配置项。

http://192.168.50.131:8081/nexus/content/groups/public/

与下图中的链接一致:

在这里插入图片描述

配置Eclipse Maven

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。

针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。

针对以上面试技术点,我在这里也做一些分享,希望能更好的帮助到大家。

[外链图片转存中…(img-5heqPjNl-1713660228213)]

[外链图片转存中…(img-Q7oFEWlr-1713660228213)]

[外链图片转存中…(img-SFtaoAJN-1713660228214)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值