因工作需要,需要搭建公司自己的私有仓库,存储自己的私有jar包,所以研究了下

一、环境准备

1、下载并安装nexus,然后启动项目,这部分攻略网上很多,而且基本上都是正确的,此处不做梳理

2、登录127.0.0.1:8081,默认用户名密码是admin/admin123

3、创建私有仓库

  

  仓库类型有hosted、proxy、group,hosted-本地存储。像官方仓库一样提供本地私库功能;proxy-提供代理其它仓库的类型;group-组类型,能够组合多个仓库为一个地址提供服务,所以这里选hosted。

  

  保存后在列表页面点击新创建的仓库,进到详细页面,查看仓库地址并妥善保存,后面会用到

  

4、创建角色,只拥有新增仓库的读取权限。

  

5、创建拥有该角色的用户

这样仓库就创建好了,接下来是使用,首先是导入jar包,目前只研究了网页导入

二、私有jar包上传

1、查找上传入口

2、选择jar包并维护信息,如果勾选了Generate a POM file with these coordinates,会自动生成pom文件信息

3、确认jar包,如果按照步骤看到如下信息,表示已经上传成功

三、本地导出

1、本地maven改造,修改setting文件

  首先维护用户信息,记住此处配置的server.id,后面会用到

<servers>
  <server>
    <id>dingxf-third_part</id>
    <username>dingxf</username>
    <password>dingxf</password>
  </server>
</servers>

 然后配置仓库信息,首先在<profiles></profiles>中维护以下信息

<profile>
<!-- 自定义不重复id -->
<id>dingxf</id>
<repositories>
<repository>
<!-- 维护的server.id 如果维护错误会报错:Not authorized , ReasonPhrase:Unauthorized -->
<id>dingxf-third_part</id>
<!-- 自定义name名,无要求 -->
<name>dingxf</name>
<!-- 一.3中保存的地址名,如果维护错误会报错:Could not find artifact jar包 in wecredo-third_part (http://url地址) -->
<url>http://182.92.122.172:8081/repository/third_part/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<!-- 维护的server.id 如果维护错误会报错:Not authorized , ReasonPhrase:Unauthorized -->
<id>dingxf-third_part</id>
<!-- 自定义name名,无要求 -->
<name>dingxf</name>
<!-- 一.3中保存的地址名,如果维护错误会报错:Could not find artifact jar包 in wecredo-third_part (http://url地址) -->
<url>http://182.92.122.172:8081/repository/third_part/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>

然后在最外层<settings></settings>中维护以下信息

<activeProfiles>
<!-- profile.id 如果不维护或错误会报错:Could not find artifact xxxxx in central (https://repo.maven.apache.org/maven2),此时私有仓库不起作用 -->
<activeProfile>dingxf</activeProfile>
</activeProfiles>

2、然后项目的pom.xml中维护以下信息

<distributionManagement>
<repository>
<!-- 维护的server.id 如果维护错误会报错:Not authorized , ReasonPhrase:Unauthorized -->
<id>dingxf-third_part</id>
<!-- 自定义name名,无要求 -->
<name>dingxf-third_part</name>
<!-- 一.3中保存的地址名,如果维护错误会报错:Could not find artifact jar包 in dingxf-third_part (http://url地址) -->
<url>http://182.92.122.172:8081/repository/third_part/</url>
</repository> <snapshotRepository>
<!-- 维护的server.id 如果维护错误会报错:Not authorized , ReasonPhrase:Unauthorized -->
<id>dingxf-third_part</id>
<!-- 自定义name名,无要求 -->
<name>dingxf-third_part</name>
<!-- 一.3中保存的地址名,如果维护错误会报错:Could not find artifact jar包 in dingxf-third_part (http://url地址) -->
<url>http://182.92.122.172:8081/repository/third_part/</url>
</snapshotRepository>
</distributionManagement>

maven私有仓库从搭建到使用的更多相关文章

  1. 实战maven私有仓库三部曲之一:搭建和使用

    在局域网内搭建maven私有仓库,可避免每次都从中央仓库下载公共jar包,另外将A模块作为二方库发布到私有仓库后,B模块可以很方便的引用,今天我们就来实战maven私有仓库的搭建和使用: 原文地址:h ...

  2. 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库

    本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...

  3. 用nexus搭建自己的maven私有仓库

    用nexus搭建自己的maven私有仓库  刚安装nexus时,nexus启动失败,启动不到1分钟,自动停止.后来查找到了原因: Java 6 Support EOLOracle's support ...

  4. 安装Maven并搭建Maven私有仓库

    一.说明 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十 ...

  5. 使用nexus3.10搭建maven私有仓库

    使用nexus3.10搭建maven私有仓库-----详见如下链接-- --此贴用于笔记 https://blog.csdn.net/vipbupafeng/article/details/80232 ...

  6. 使用nexus搭建一个maven私有仓库

    使用nexus搭建一个maven私有仓库 大家好,我是程序员田同学.今天带大家搭建一个maven私有仓库. 很多公司都是搭建自己的Maven私有仓库,今天就带大家使用nexus搭建一个自己的私有仓库, ...

  7. 【图文并茂】 做开发这么久了,还不会搭建服务器Maven私有仓库?这也太Low了吧

    大家好,我是冰河~~ 最近不少小伙伴想在自己公司的内网搭建一套Maven私服环境,可自己搭建的过程中,或多过少的总会出现一些问题,问我可不可以出一篇如何搭建Maven私服的文章.这不,就有了这篇文章嘛 ...

  8. 实战maven私有仓库三部曲之二:上传到私有仓库

    在上一章<实战maven私有仓库三部曲之一:搭建和使用>我们搭建了maven私有仓库,并体验了私有仓库缓存jar包的能力,避免了局域网内开发人员去远程中央仓库下载的痛苦等待,本章我们再来体 ...

  9. [maven] 使用Nexus创建maven私有仓库

    1.为什么需要maven私有仓库? 从Maven中央仓库下载所需的jar包,需要外网的支持.如果公司不能上外网的话则不能从中央仓库下载所需jar包,公司网速慢的时候也会影响项目构建的速度.用户可以用n ...

随机推荐

  1. synergy最佳解决方案——barrier

    synergy最佳解决方案--barrier ​ 不知道大家有没有一套键盘鼠标控制多台电脑的需求,主流的硬件或说软件有大神整理如下: 软件方案: Windows 之间:Mouse Without Bo ...

  2. golang中为何在同一个goroutine中使用无缓冲通道会导致死锁

    package main import "fmt" func main() { /* 以下程序会导致死锁 c := make(chan int) c <- 10 n1 := ...

  3. 【程序18】求s=a+aa+aaa+aaaa+aa...a的值

    求s=a+aa+aaa+aaaa+aa-a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. 知识点:在Python 3里,reduce( ...

  4. undo和redo的区别

    undo和redo的区别: undo一般用于事务的取消与回滚,记录的是数据修改前的值: redo一般用于恢复已确认但未写入数据库的数据,记录的是数据修改后的值.

  5. 题解 - 「MLOI」小兔叽

    小兔叽 \(\texttt{Link}\) 简单题意 有 \(n\) 个小木桩排成一行,第 \(i\) 个小木桩的高度为 \(h_i\),分数为 \(c_i\). 如果一只小兔叽在第 \(i\) 个小 ...

  6. Solaris平台,如何通过端口号快速查看PID(进程)

    1. vi /tmp/test.ksh #!/bin/ksh line='---------------------------------------------' pids=$(/usr/bin/ ...

  7. C++的set重载运算符

    转载: https://www.cnblogs.com/zhihaospace/p/12843802.html set 容器模版需要3个泛型参数,如下: template<class T, cl ...

  8. TensorFlow 卷积神经网络实用指南 | iBooker·ApacheCN

    原文:Hands-On Convolutional Neural Networks with TensorFlow 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心 ...

  9. MySQL server has gone away 异常

    原因 一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可. 还有一种可能是因 ...

  10. Html 项目使用自定义字体文件问题

    感谢大佬:https://zhidao.baidu.com/question/652711582735059245.html 1.首先在项目过程中新建文件夹fonts将准备好的ttf字体文件复制该文件 ...