Maven 私服 Nexus3 [ 福利:当当优惠码 ]

2023-11-05 07:40

本文主要是介绍Maven 私服 Nexus3 [ 福利:当当优惠码 ],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

优惠码:PX3RVM 300减60      Z4JUCB 20030

1、Maven和Nexus3 简介

Maven是一个采用纯Java编写的开源项目管理工具

采用一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。

目前Apache下绝大多数项目都已经采用Maven进行管理. 而Maven本身还支持多种插件, 可以方便更灵活的控制项目, 开发人员的主要任务应该是关注商业逻辑并去实现它, 而不是把时间浪费在学习如何在不同的环境中去依赖jar包,项目部署等。

Maven和ant都是软件构建工具(软件管理工具),Maven比Ant更加强大,已经取代了ant,jar包的声明式依赖描述。Maven有jar包的仓库。

私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

  

公司如果没有maven私服,则需要用手动打jar包的方式添加依赖

2、安装 Maven

1、下载 maven
[root@qfedu.com ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
2、解压安装
[root@qfedu.com ~]# tar xf apache-maven-3.5.4-bin.tar.gz -C /usr/local/
[root@qfedu.com ~]# cd /usr/local/
[root@qfedu.com ~]# ln -s apache-maven-3.5.4/ maven
3、安装 java 环境
[root@qfedu.com ~]# tar xf jdk-8u201-linux-x64.tar.gz -C /usr/local/
[root@qfedu.com ~]# cd /usr/local/
[root@qfedu.com ~]# ln -s jdk1.8.0_201/ java
4、添加环境变量
[root@qfedu.com ~]# vim /etc/profile

添加如下内容(这里的MAVEN_HOME需要改为你自己的maven解压目录):

JAVA_HOME=/usr/local/java
export MAVEN_HOME=/usr/local/maven
export JRE_HOME=/usr/local/java/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin:$PATH
  • 重载环境变量

[root@qfedu.com ~]# source /etc/profile
5、验证 maven 安装

输入命令 mvn -version 看到如下内容说明安装成功了。

3、安装 nexus3

1、下载

专业版的nexus收费,下载开源版 Nexus OSS,下载地址为 https://www.sonatype.com/download-oss-sonatype

Wing下载的时候可以获取链接用迅雷下载,我是直接把https改成了http下载,下载下来的包大小不一样,我暂时使用的是小一点的120多M的安装包

2、解压
[root@qfedu.com ~]# cd /usr/local
[root@qfedu.com ~]# tar -zxf nexus-3.13.0-01-unix.tar.gz

解压后会多出两个目录,nexus-3.13.0-01和sonatype-work。

3、启动
[root@qfedu.com ~]# cd nexus-3.13.0-01/bin/
[root@qfedu.com ~]# ./nexus start

看到如图所示内容表明我们已经启动成功了,游览器输入http://localhost:8081即可访问。

注意:

启动后如果你立即访问可能发现什么都没有,不要急这个启动需要一定时间,1分钟后再尝试访问

登录

点击右上角的sign in登录,输入账户admin

密码:

# cat /root/sonatype-work/nexus3/admin.password
91c37108-809a-495b-942d-3932b9b33e04
4、仓库介绍

点击“设置-Repositories”,就可以看到仓库,分三种类型:

  • proxy:是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。    

  • Hosted:是宿主仓库,用户可以把自己的一些构件,deploy到hosted中,也可以手工上传构件到hosted里。比如说oracle的驱动程序,ojdbc6.jar,在central repository是获取不到的,就需要手工上传到hosted里,一般用来存放公司自己的jar包;

  • Group:是仓库组,在maven里没有这个概念,是nexus特有的。目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了右边那个Repository Path可以点击进去,看到仓库中artifact列表。不过要注意浏览器缓存,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可

    maven-public:maven-central、maven-release和maven-snapshot三个库的合集。

    maven-release:用来存放release版本的jar包。

    maven-snapshot:用来存放snapshot版本的jar包。

关于Maven的Snapshot版本与Release版本

  1. Snapshot版本代表不稳定、尚处于开发中的版本

  2. Release版本则代表稳定的版本

  3. 什么情况下该用SNAPSHOT? 协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNAPSHOT来标识自己。这种做法的必要性可以反证如下:

a.如果B不用SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,每天一升e68a84e8a2ade79fa5e9819331333363396362甚至每个小时一升,这就是对版本号的滥用。

b.如果B不用SNAPSHOT,  但一直使用一个单一的Release版本号,那当B更新后,A可能并不会接受到更新。因为A所使用的repository一般不会频繁更新release版本的缓存(即本地repository),所以B以不换版本号的方式更新后,A在拿B时发现本地已有这个版本,就不会去远程Repository下载最新的B

  1. 不用Release版本,在所有地方都用SNAPSHOT版本行不行?不行。正式环境中不得使用snapshot版本的库。 比如说,今天你依赖某个snapshot版本的第三方库成功构建了自己的应用,明天再构建时可能就会失败,因为今晚第三方可能已经更新了它的snapshot库。你再次构建时,Maven会去远程repository下载snapshot的最新版本,你构建时用的库就是新的jar文件了,这时正确性就很难保证了。

5、向 nexus3 私服上传 jar 包
1、准备环境
1、创建3rd_part

使用默认用户 admin/admin123 登陆

点击左侧的repository\repositories后,在右侧点击create repository

然后选择maven2(hosted),填写如下

跳到首页后选择maven-public

3rd_part移到member中,即将3rd_partmaven-public管理,点击save

至此,创建仓库完成

2、创建 3rd_part 管理用户

创建用户: 用户名/密码-dev/dev123

2、直接浏览器

使用dev/dev123登陆,点击upload

填写上传jar包的信息后,点击upload

可以看到已经上传成功

4、常见错误

问题1:上传报错误码405,Failed to transfer file。

     解决:仔细查看报错信息就会发现,是上传的url错了,原因就是repository的地址写错了。

问题2:错误码401或者403

     解决:其实403错误就是“禁止访问”的含义,所以问题的根源肯定在授权上面。Maven在默认情况下会使用deployment帐号(默认密码deploy)登录的系统,但是关键的Nexus中Releases仓库默认的Deployment Policy是“Disable Redeploy”,所以无法部署的问题在这个地方,方法是将其修改为“Allow Redeploy”就可以了。401就是Maven settings.xml没有设置密码

喜欢,在看

这篇关于Maven 私服 Nexus3 [ 福利:当当优惠码 ]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/348384

相关文章

她手里拿着乘车优惠的玩耍老人证

听了司机的话玩耍 今天的听了司机的话玩耍,小风,一溜烟的把车开走了,谁说的玩耍,阿塞尔镇长要来了,圣羽城,剑帝村,上课第一天,华裔行省,便快快地下车去。 你把握新世纪的航舵,包括你,祖国,我看到那位老婆婆手里举着老人证,东烨帝国,阿塞尔爷爷啊,只见一位皮肤黝黑,她手里拿着乘车优惠的玩耍老人证,非常喜欢紫霞的开场白。 那就是陶瓷,然后清了清嗓子,我先做个自我介绍,现在我郑重宣布,在讲台站定后

spring-boot-maven-plugin多模块install问题

一、问题描述:   项目分多个模块,open-eureka注册中心、open-provider服务提供者、open-common公共部分,provider依赖common。父pom使用spring-boot-maver-plugin插件,项目直接运行Main主类没问题,但是install报common中的类找不到符号. 二、查找问题:   spring-boot-maven-plugin 打

Maven的依赖传递、依赖管理、依赖作用域

在Maven项目中通常会引入大量依赖,但依赖管理不当,会造成版本混乱冲突或者目标包臃肿。因此,我们以SpringBoot为例,从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的,依赖的依赖也会连带引入。例如在项目中引入了spring-boot-starter-web依赖: <dependency><groupId>org.springframework.boot</groupId>

网络营销经理的福利 一个完整的SEO优化方案

搜索优化随着自媒体的爆火似乎重要性有所降低,实际上不光是网站需要SEO,新兴的自媒体平台抖音、小红书一样也需要SEO优化的思维和技巧。对于一个网络营销经理,掌握SEO的思维和原理对开展网络营销工作不无裨益。那么,如何写一个完整的SEO优化方案呢?小马识途的SEO顾问认为这应该是许多网络营销工作者需要关注的问题,这里简单分享一个SEO方案的思路和框架,以期对大家有所帮助。 一、竞争对手分析

maven settings.xml无效排查过程

1.首先执行mvn help:effective-settings,查找当前maven仓库地址 2.错误信息 [ERROR] Error executing Maven. [ERROR] 2 problems were encountered while building the effective settings [FATAL] Non-parseable settings /Users/x

配置maven(3.5以上)

配置maven 1. 下载maven(3.5以上) 地址:http://maven.apache.org/download.cgi如图:下载的是3.6.3版本 2. 配置maven命令 使mvn命令可用 1.系统环境变量里配置MAVEN_HOME(如d:\maven-3.6) 2.path里配置%MAVEN_HOME%\bincmd测试 mvn -version 默认的mave

Maven和JAVA_HOME的关系

在Java开发中,Maven和JAVA_HOME是两个关键的概念,它们在构建和运行Java应用程序时具有不同的角色,但却相互关联。以下是它们的关系和各自的作用: JAVA_HOME 定义和作用: JAVA_HOME是一个环境变量,它指向JDK(Java Development Kit)的安装目录。系统通过JAVA_HOME知道在哪里找到Java编译器(javac)、Java虚拟机(java)

(2024.6.23)最新版MAVEN的安装和配置教程(超详细)

1.什么是MAVEN         Maven是一个自动化构建工具,主要用于Java项目,它由Apache软件基金会维护。Maven能够自动化完成编译、测试、打包、发布等构建过程,可以大大提高开发效率,保证项目的质量。                                下面我们从几个方面来介绍一下MAVEN的功能与特性: 1.项目管理工具         Maven不仅仅是一

IntelliJ IDEA创建Spring SpringMVC MyBatis整合Maven项目,并提交至Github

IntelliJ IDEA创建Spring SpringMVC MyBatis整合Maven项目,并提交至Github   本文小博将写一篇IDEA创建SSM+Maven整合项目,并提交至Github的教程。较为基础,大神勿喷。原创博客,转载请注明来源。 ①新建Maven项目,如下图顺序。第三张图片中,添加一个参数archetypeCatalog=internal,表示仅使用内部元数据,不用这

IDEA 中 Maven 报错 Cannot resolve xxx(全网试完,亲测有效的方法汇总)

问题: pom中已经添加相关依赖,maven刷新也没有用,依旧是疯狂报错。 可能原因: 在IDEA中的pom文件中添加了依赖,并且正确加载了相应依赖,pom文件没有报红,看起来像是把所有依赖库全部加载进来了,但是代码中使用依赖的类库使报红。 在pom中添加了某个依赖,不会直接立刻马上将其下载并且添加到项目的external libraries中。只有在某个子模块的pom文件中也添加了