天天看点

基于Docker构建Maven私服库基于Docker构建Maven私服库

基于Docker构建Maven私服库

前提: 本文档基于读者已经安装好Docker,如果未安装Docker请参考链接。

安装nexus3

#下载nexus3 容器
$ docker pull sonatype/nexus3

#创建目录作为数据卷
$ mkdir /some/dir/nexus-data && chown -R  /some/dir/nexus-data
$ docker run -d -p : --name nexus -v /some/dir/nexus-data:/nexus-data --restart unless-stopped sonatype/nexus3

#查看执行日志
$ docker logs -f nexus
           

如果一切成功的话,会显示如下日志信息。

基于Docker构建Maven私服库基于Docker构建Maven私服库

Nexus 的Maven 仓库配置

基于Docker构建Maven私服库基于Docker构建Maven私服库

Proxy私库配置

基于Docker构建Maven私服库基于Docker构建Maven私服库

配置Maven setting文件

修改“nexus.ip”为nexus容器部署的ip地址
<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <pluginGroups>
    <pluginGroup>org.sonatype.plugins</pluginGroup>  
  </pluginGroups>

  <proxies></proxies>

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

  <mirrors>
    <mirror>
        <id>nexus-private</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus</name>
        <url>http://nexus.ip:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>

  <profiles>
    <profile>  
        <id>nexus</id>  
        <repositories>  
            <repository>  
                <id>central</id>  
                <url>http://central</url>  
                <releases><enabled>true</enabled></releases>  
                <snapshots><enabled>true</enabled></snapshots>  
            </repository>  
        </repositories>  
        <pluginRepositories>  
            <pluginRepository>  
                <id>central</id>  
                <url>http://central</url>  
                <releases><enabled>true</enabled></releases>  
                <snapshots><enabled>true</enabled></snapshots>  
            </pluginRepository>  
        </pluginRepositories>  
    </profile>  
  </profiles>

  <activeProfiles>  
    <activeProfile>nexus</activeProfile>  
  </activeProfiles> 
</settings>
           

修改pom.xml文件

修改nexus.ip 为你的nexus的ip地址
<distributionManagement>
        <repository>
            <id>nexus</id>
            <name>Releases</name>
            <url>http://nexus.ip:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus</id>
            <name>Snapshot</name>
            <url>http://nexus.ip:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
           

更新依赖并查看nexus是否下载成功

基于Docker构建Maven私服库基于Docker构建Maven私服库

替换发布的jar的 group.id、artifact.id、version 、your/jar/path/xxx.jar、nexus.ip

-DrepositoryId=nexus 这个是setting.xml 中配置的id。

继续阅读