当前位置:   article > 正文

docker安装maven私服进行jar包管理_docker file 获取mavenjar

docker file 获取mavenjar

Nexus简介

   Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus
   你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的
  系统不需 要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供
  完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。
  • 1
  • 2
  • 3
  • 4

下载镜像

  docker pull sonatype/nexus3
  • 1

创建文件存储目录

  mkdir -p  /docker/nexus/data  
  • 1

运行镜像

docker run -d \
-p 8081:8081  \
--name nexus \
 -v /docker/nexus/data:/nexus-data  \
--privileged=true  \
--restart=always \
 sonatype/nexus3 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
参数说明
-d以守护进程的方式启动
-p 8081:8081把容器内的端口8081挂载到宿主机8081上面
- -name nexus容器的名字
-v /docker/nexus/data:/var/nexus-data把容器内的目录挂载到 /docker/nexus/data目录
- -privileged使得容器内的root拥有真正的root权限。
- -restart自动重启
sonatype/nexus3镜像的名字

登录

http://localhost:8081/
帐号是: root
root密码默认在docker镜像里的admin.password文件里

docker exec -ti nexus /bin/bash
cat /nexus-data/admin.password
  • 1
  • 2

创建用户

添加用户

配置maven的setting.xml文件

默认的maven配置文件在用户目录下的.m2隐藏目录下

  <servers>
      <server>
        <!--身份证唯一标识-->
        <id>test</id>
        <!--maven私服的帐号-->
        <username>test</username>
         <!--maven私服的密码-->
        <password>19951224</password>
      </server>
  </servers>
   <!-- mirrors是全局配置,对所有的项目都用私服-->
  <mirrors>
	<mirror>
		  <!--对应server里面的id-->
          <id>test</id>
          <mirrorOf>central</mirrorOf>
          <name>Nexus Mirror</name>
          <!--配置maven私服的仓库地址-->
          <url>http://192.168.0.119:8081/repository/maven-public</url>
     </mirror>
  </mirrors>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

手动上传第三方jar到私服

在这里插入图片描述
在这里插入图片描述

查看jar包的依赖信息

在这里插入图片描述
在这里插入图片描述

maven项目中引入刚刚上传的jar

<dependency>
  <groupId>com.ljm</groupId>
  <artifactId>test</artifactId>
  <version>v1.0</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

通关mvn命令发布jar包到maven私服中

pom.xml配置以下信息

<?xml version="1.0" encoding="UTF-8"?>
<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.ljm</groupId>
    <artifactId>test2</artifactId>
    
    <!--
    version
    后缀名有强一致性要求,不然打包发布不到私服上面去
    RELEASE  生产版本  对应下面 distributionManagement里配置的私服里的 maven-releases仓库
    SNAPSHOT 快照版本                                                maven-snapshots仓库
    -->
    <version>1.0-RELEASE</version>

    <!--发布jar包到maven私服 -->
    <distributionManagement>
        <repository>
            <!--此名称要和.m2/settings.xml中设置的ID一致   -->
            <id>test</id>
            <url>http://192.168.0.119:8081/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

    <!--maven私服的仓库地址,项目中如果设置了,则不需要配置 m2目录下的setting.xml中的mirror-->
    <repositories>
        <repository>
            <!--此名称要和.m2/settings.xml中设置的ID一致 -->
            <id>test</id>
            <name>nexus public</name>
            <url>http://192.168.0.119:8081/repository/maven-public/</url>
        </repository>
    </repositories>
    
    
    <build>
        <finalName>test2</finalName>
        <!--发布代码到nexus私服需要配置以下插件 -->
        <plugins>
            <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>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71

执行打包命令

mvn deploy
  • 1

查看刚刚用命令发布的jar

在这里插入图片描述

总结

使用docker安装maven私服还是比较简单的,
如果不用maven私服的话,对于maven的中央仓库上没有的第3方的jar包,
只能copy到项目下的lib目录里了,这样上传到git服务器上代码量就很大了。

努力朝着顶级架构师的方向前进 。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/866627
推荐阅读
相关标签
  

闽ICP备14008679号