下载和安装

下载地址:https://help.sonatype.com/repomanager3/download

注意:Nexus Repository Manager 3是一个Java服务器应用程序,安装需要 jdk1.8以上的版本。

下载解压后,用命令行到解压目录的bin目录下运行 nexus.exe /run(Linux运行./nexus run),启动完成后会显示“Started Sonatype Nexus”:

-------------------------------------------------Started Sonatype Nexus OSS 3.16.2-01-------------------------------------------------

访问Nexus管理后台

Nexus管理后台地址:http://localhost:8081/
点击右上角Sign in登录,默认账号和密码为:admin/admin123

在Repositories 仓库管理界面中有多种默认的仓库,也可以添加新的仓库,本实例直接使用默认的仓库:
maven-central,Type为proxy,表示代理仓库。代理仓库用来代理远程仓库(maven-central代理的是超级POM中配置的Maven中央仓库),当在下载组件时,如果代理仓库搜索不到,则会把请求转发到远程仓库从远程仓库下载。从远程仓库下载后会缓存到代理仓库,下次还有该组件的请求则会直接到代理仓库下载,不会再次请求远程仓库。

maven-releases/maven-snapshots,Type为hosted,表示为宿主仓库。宿主仓库主要用来部署团队内部使用的内部组件,默认的maven-releases和maven-snapshots分别用来部署团队内部的发布版本组件和快照版本组件。

配置代理仓库

配置settings.xml:

<settings><!-- 配置镜像,此处拦截所有远程仓库的请求到代理仓库--><mirrors><mirror><id>nexus</id><mirrorOf>*</mirrorOf><url>http://localhost:8081/repository/maven-central/</url></mirror></mirrors><!-- 配置远程库和远程插件库--><profiles><profile><id>nexus</id><!-- Maven用于填充构建系统本地存储库的远程仓库集合--><repositories><repository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories><!-- 类似于repositories元素,指定Maven可以在哪里找到Maven插件的远程仓库位置--><pluginRepositories><pluginRepository><id>central</id><url>http://central</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile></profiles><!-- 激活profiles配置 --><activeProfiles><activeProfile>nexus</activeProfile></activeProfiles>
</settings>

创建Maven项目,pom.xml如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.nocoffee</groupId><artifactId>coffee-api</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>coffee-api</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>

执行mvn clean,执行mvn clean需要下载maven-clean-plugin插件,通过Browse界面可以看到因为执行mvn clean而下载的maven-clean-plugin.jar:

注意:如果界面为空,表示没有下载,原因是之前下载过该插件到本地仓库,需要把本地仓库的maven-clean-plugin插件删除,我的本地仓库路径为D:\Reporsitory,所以需要删掉文件夹:D:\Reporsitory\org\apache\maven\plugins\maven-clean-plugin,然后重新构建即可。

配置宿主仓库

settings.xml增加如下配置:

<servers><server><id>nexus</id><username>admin</username><password>admin123</password></server>
</servers>

配置pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.nocoffee</groupId><artifactId>coffee-api</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>coffee-api</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><distributionManagement><repository><id>nexus</id><name>maven-releases</name><url>http://localhost:8081/repository/maven-releases/</url></repository><snapshotRepository><id>nexus</id><name>maven-snapshots</name><url>http://localhost:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>
</project>

执行mvn clean deploy将项目打包并发布到宿主仓库,构建成功后到Browse中maven-snapshots库查看(因为项目版本为0.0.1-SNAPSHOT,是带SNAPSHOT的快照版本):

maven-releases库

需要将项目版本改成发布版本,在pom.xml中0.0.1-SNAPSHOT去掉-SNAPSHOT,改为0.0.1。重新执行mvn clean deploy:

注意:maven-releases库默认不能重新发布,需要可重新发布则需要修改该仓库配置。
测试重新发布到maven-releases库,执行mvn clean deploy将会构建失败:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.112 s
[INFO] Finished at: 2019-06-10T16:34:29+08:00
[INFO] Final Memory: 18M/164M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project coffee-api: Failed to deploy artifacts: Could not transfer artifact com.nocoffee:coffee-api:jar:0.0.1 from/to nexus (http://localhost:8081/repository/maven-releases/): Failed to transfer file: http://localhost:8081/repository/maven-releases/com/nocoffee/coffee-api/0.0.1/coffee-api-0.0.1.jar. Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

将maven-releases库中Deployment pollcy改为Allow redeploy既可:

原文链接 https://www.cnblogs.com/seve/p/10982603.html

转载于:https://www.cnblogs.com/mzdljgz/p/11601588.html

Maven私服搭建(Nexus Repository Manager 3)相关推荐

  1. maven私服搭建nexus

    maven私服 正式开发,不同的项目组开发不同的工程.dao工程开发完毕,发布到私服.service从私服下载dao. 公司在自己的局域网内搭建自己的远程仓库服务器,称为私服,私服服务器即是公司内部的 ...

  2. 【Linux环境搭建】六、Linux(CentOS7)Maven私服搭建Nexus

    1.下载nexus http://www.sonatype.org/nexus/go/ 2.解压 tar -zvxf nexus-2.11.4-01-bundle.tar.gz 3.加入系统变量 vi ...

  3. Nexus Repository Manager搭建私服仓库

    最近,为了管理jar包和依赖,一直都是用的git和github来托管的,他们都是外网可访问,关键是别人的东西. 于是想自己搭建一个jar包和依赖的管理仓库,在网上找了找,Nexus Repositor ...

  4. Sonatype Nexus Repository Manager OSS仓库管理私服(一)——搭建私服

    nexus有收费版和开源免费版,其中的Nexus Repository Manager OSS是开源免费的,其功能基本满足我们的需求,所以本次搭建采用该版本. 下载 首先在Nexus Reposito ...

  5. work-notes(15):私服报错401,Sonatype Nexus Repository Manager,may not contain non-url-safe chars如何解决?

    时间:2022-05-30 文章目录 问题描述 回归重点,code 401 认证失败问题 如何解决 1.找到node本地文件 .npmrc 2.删除里面的地址和 token 3.重新登录 4.总结 问 ...

  6. Maven 私服搭建指南

    序言 Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发.打包.测试.部署等一系列行为. 而包管理又是其核心功能,除非是个人项目,我们获取包都是从中 ...

  7. Nexus Repository Manager OSS 3.x 安装配置

    前言想要使用maven搭建项目,但是国内的网络环境可以想象,还有公司自己开发的jar包等问题,所以需要搭建一个maven的私服,这样便于管理. 找了一些教程,顺便记下来,当做笔记. 本文以Window ...

  8. Nexus Repository Manager 3 远程命令执行漏洞 CVE-2019-7238

    目录 Vulnhub官方复现教程 漏洞原理 复现过程 启动环境 漏洞复现 端口设置 Vulnhub官方复现教程 https://vulhub.org/#/environments/nexus/CVE- ...

  9. 真正的maven私服搭建器--Artifactory

    一个团队要真正用好Maven,repository私服是免不了的,否则team mate们多好奇的目光,都会全部消耗在漫长的jar下载中. 以前介绍过一个搭建私服的简朴但很笨的办法--将雷锋同志下载好 ...

最新文章

  1. 麦克纳姆轮运动原理_【带字幕视频】麦克纳姆轮你了解多少?ESP32的WIFI信号,居然能覆盖10公里?...
  2. 弱类型、强类型、动态类型、静态类型语言的区别
  3. Java ResourceBundle keySet()方法及示例
  4. 3青春痘长在哪里不害怕
  5. linux basename目录,linux – 在find -exec中使用basename和full path
  6. Java 蓝桥杯 A+B problem
  7. (译)C#/.NET中的委托与事件
  8. OpenShift Security 14 - 使用 RHACS 中的进程基线功能找出在容器中运行的风险操作
  9. NYOJ 305 表达式求值 (字符串处理)
  10. java 27 - 7 反射之 通过反射越过泛型检查
  11. nodejs的一些日常操作
  12. java编程思想学习笔记——第2章 一切都是对象
  13. NYOJ770 仿射密码
  14. 图片去水印的原理_神奇的Photoshop去除图片水印方法
  15. Ceph新建monitor或者osd报错:use --overwrite-conf to overwrite
  16. ubuntu 18.04安装pycharm及编译环境配置
  17. 他们联手造了个抢票节”
  18. html5附近餐厅,【天津】必吃的5家餐厅8种美食,让你的小长假周边游更完美!...
  19. python打开网页并实现点击
  20. 【高等数学笔记】证明:闭包一定是闭集

热门文章

  1. java中File类应用:遍历文件夹下所有文件
  2. visio 科学图形包_R可视乎|混合多个图形
  3. 杭电1430康托 bfs(java)
  4. [转]解决linux下sqldeveloper 中文环境显示乱码的问题
  5. java 对象被回收的例子_jvm(4)---垃圾回收(哪些对象可以被回收)
  6. php 单例模式的日志类,php单例模式实现日志处理类库
  7. php发送sql,php发送Sql语句遇到的坑
  8. mysql 高可用测试_mysql MHA高可用测试
  9. 超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
  10. z390 黑苹果启动盘_不到800元买块1TB固态,折腾一下黑苹果的安装