为何用到Maven私服?

在实际开发中,项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。

我们从项目实际开发来看:

  1. 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。

  2. 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的符合。

如上摘抄自私服服务器架设,如下为详细步骤:

1、下载一个nexus3的镜像

docker pull sonatype/nexus3

2、将容器内部/var/nexus-data挂载到主机/root/nexus-data目录

docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3

通过 docker ps -a 查看容器启动情况

验证,通过id查看容器的详细信息,输出如下ip地址。

docker inspect 容器id

紧接着访问以下这个地址试一下:curl 127.17.0.2:8081

如果启动失败,可关闭防火墙再试一下:

systemctl stop firewalld.service

ok,启动后浏览器访问一下 http://ip:8081

至此,私服搭建成功。

默认登陆账号 admin admin123

注意,这个时候你可能会遇到如下这个错误:

Incorrect username or password, or no permission to use the application.

maven私服登录的时候默认是不能使用明文密码,要使用密文密码,一般在你创建容器的目录下,比如 root/nexus-data/admin.password ,注意,需要进入容器中找,见下方指令与图:

docker exec -it c2101070de57 bash
bash-4.2$ cd /nexus-data/
bash-4.2$ cat admin.password 
d62fa667-a22b-41db-a14a-6aa6f793f4fbbash-4.2$ 

去掉后面的 bash-4.2$d62fa667-a22b-41db-a14a-6aa6f793f4fb 即为密码。

重新登陆后,会提示你重设密码:

3、创建maven仓库

上传maven私服之前我们先,创建个仓库

选择maven2(hosted)

填写仓库信息:

创建用户:

填写基本信息

创建好账户后就可以在右上角切换账户了。

接着就是配置本地 maven > conf 了,找到自己本机的 maven conf 下的 setting.xml 文件,添加如下信息:

注意是 services 节点下:

<services>
    <server>
        <id>ttyy</id>
        <username>ttyy</username>
        <password>ttyy</password>
    </server>
 </services>

4、如何将架包上传到maven私服

创建一个普通的 maven 项目,配置 pom.xml 如下:

<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
<!--指定仓库地址 -->
<distributionManagement>
    <repository>
        <!--此名称要和.m2/settings.xml中设置的ID一致 -->
        <id>ttyy</id>
        <url>http://192.168.10.130:8081/repository/ttyy-release/</url>
    </repository>
</distributionManagement> <build>
    <plugins>
        <!--发布代码Jar插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.7</version>
        </plugin>
        <!--发布源码插件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

项目命令行中执行如下指令:

mvn deploy

发布成功后,如何搜索呢?如下图:

发布后如何使用呢,相信很多小伙伴肯定用过阿里云的私服,一样的道理啦:

<dependencies>
    <dependency>
        <groupId>club.sscai</groupId>
        <artifactId>ttyy-springboot</artifactId>
        <version>1.0-RELEASE</version>
    </dependency>
</dependencies> <repositories>
    <repository>
        <id>ttyy</id>
        <url>http://192.168.10.130:8081/repository/ttyy-release/</url>
    </repository>
</repositories>

我创建了一个java相关的公众号,用来记录自己的学习之路,感兴趣的小伙伴可以关注一下微信公众号哈:niceyoo

Docker中Maven私服的搭建的更多相关文章

  1. 基于【 Docker】五 || maven私服环境搭建

    1.Maven  Nexus私服的原理 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库.当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓 ...

  2. maven私服的搭建

    前言: 为什么要有maven私服? 当我们在公司开发时,如果每个程序员都需要连接外网去下载maven的jar包,当同时开发时,就会造成网络资源浪费,因此,maven提出了私服的概念,当公司内部程序员进 ...

  3. docker安装maven私服

    目录 一.nexus3安装 二.创建私服仓库 三.发布jar包到私服 四.引用maven私服jar包 五.参考 一.nexus3安装 1.安装镜像 docker pull sonatype/nexus ...

  4. maven学习(中)- 私服nexus搭建

    接上回继续,相信大家对maven每次都联网从国外站点下载依赖项的龟速网络已经不坎忍受了,今天先来看看如何搭建"仓库私服",目前nexus是使用比较广泛的私服软件之一,下面将介绍基本 ...

  5. maven私服nexus搭建(windows)

    1.下载nexus 地址:https://www.sonatype.com/download-oss-sonatype 下载相应版本的zip包. 2.安装nexus 下载完成后,解压到本地任意目录. ...

  6. Docker之Harbor私服的搭建及使用

    目录 0. 前置条件 1. 下载地址 2. 安装 2.1 编辑harbor.yml 2.3 安装 2.4 访问配置的域名 2.5 常用命令 2.6 测试提交镜像 0. 前置条件 安装docker # ...

  7. docker 搭建maven 私服

    # 搜索镜像 docker search nexus; #拉取nexus镜像docker pull sonatype/nexus; #运行 -id 创建守护式容器--privileged=true 授 ...

  8. Linux下搭建maven私服Nexus 3.2.1-01

    1. 私服介绍私服是指私有服务器,是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构建.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则, ...

  9. 掌握 Maven 私服

    前言 在 Java EE 开发中,我们使用 Maven 构建工具主要来管理项目的第三方库的依赖,以及公司内部其他项目服务的依赖.因此 Maven 私服就是必不可少的一环,本文主要对 Maven 私服的 ...

随机推荐

  1. ElasticSearch中的JVM性能调优

    ElasticSearch中的JVM性能调优 前一段时间被人问了个问题:在使用ES的过程中有没有做过什么JVM调优措施? 在我搭建ES集群过程中,参照important-settings官方文档来的, ...

  2. Django框架之DRF 认证组件源码分析、权限组件源码分析、频率组件源码分析

    认证组件 权限组件 频率组件

  3. 【转载】ZYNQ Cache问题的解决方法

    Zynq Cache问题的解决方法 - Kevin_HeYongyuan - 博客园https://www.cnblogs.com/kevin-heyongyuan/articles/7738552. ...

  4. (二)咋使用VUE中的事件修饰符

    1,stop修饰符:阻止事件冒泡 首先我们要明确H5的事件是从内向外进行冒泡的,写一个简单的DEMO 当我们点击按钮时,事件从内向外冒泡,依次触发绑定的事件,控制台信息如下 现在我们在click后面添 ...

  5. RGB的光的三原色、品红黄青颜料的三原色

    学习了祁连山老师讲的光与色的基础知识,觉得收获颇多,所以记下来光与色的知识点. 首先提问大家一个问题:照片中物体的颜色就是它的固有色么?(请从色光和物体固有色的角度回答) 这个问题在看完下面的总结后相 ...

  6. (原创)C#监控软件通信模型

    直接操作现场的设备是PLC,不是服务器和客户端.所以,以PLC为核心分析设备故障以及在PC端的C#程序中加入故障处理代码. PC端读和写PLC哪个重要?写重要.因为写会影响PLC的寄存器值,进而影响工 ...

  7. 根据语义来选择:value-like传副本, pointer-like传引用

    ★ (一个成员)变量的 创建.初始化.赋值 “默认值”:内置类型的局部变量.内置类型的成员变量(未设置=initval;) 没有默认值!  若创建时不指定值,则不进行初始化.则其值未定义!!! “指定 ...

  8. 关于乌班图18.04安装mysql不提示设置密码解决方案

    1.下载安装mysql sudo apt-get update sudo apt-get install -y mysql-server mysql-client //下载mysql 运行mysql时 ...

  9. python爬虫User Agent用户代理

    UserAgent简介 UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA.它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及 ...

  10. 8.Javascript-map、reduce、filter 等高阶函数

    高阶函数 高阶函数是对其他函数进行操作的函数,可以将它们作为参数或通过返回它们.简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回. 例如Array.prototype.map,Ar ...