首页 > 其他分享 >内网本地maven仓库nexus

内网本地maven仓库nexus

时间:2023-05-03 17:24:45浏览次数:35  
标签:repository nexus zxyy 仓库 maven --

需要git,nexus,maven。

 nexux版本:nexus-3.52

解压后:

 到创建用户名过程省略。

登陆网址:http://localhost:8081/

一:新建bolb store,存放上传的jar依赖

 

二:新建一个maven仓库

因为是本地,所以用hosted

                        创建仓库按钮

                          选择仓库类型

 

 

 三:上传jar包到仓库中

 ①:新建一个文件夹,把外网的.m2文件拷贝到该文件下。

 

 ②:在该文件夹下新建一个mavenimport.sh

#!/bin/bash
# copy and run this script to the root of the repository directory containing files
# this script attempts to exclude uploading itself explicitly so the script name is important
# Get command line params

while getopts ":r:u:p:" opt; do
    case $opt in
        r) REPO_URL="$OPTARG"
        ;;
        u) USERNAME="$OPTARG"
        ;;
        p) PASSWORD="$OPTARG"
        ;;
    esac
done

find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

③:git批量上传到仓库

./mavenimport.sh -u 用户名 -p 密码 -r http://服务器IP:8081/repository/zxyy_maven/

其中用户名/密码是登录nexus的用户名密码,仓库位置从nexus上复制。如下图,一般Localhost要换成ip

 

④:最后输入上述命令上传到nexus的仓库中,至此nexus已经搭建本地仓库

 

 四:使用nexus仓库更新本地仓库

 maven的setting文件参考

<?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>
  </pluginGroups>
  <proxies>
  </proxies>

 <servers>
    <!--第一个nexus-xu要和下面的mirror中的id一致,代表拉取是也需要进行身份校验-->
    <server>
      <id>zxyy_maven</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
     <server>
      <!--这两个前面讲过,是jar上传时候进行的验证,id对应的是pom中id属性的值-->
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
     <server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>

  <mirrors>
    <mirror>
        <id>zxyy_maven</id>
        <name>internal nexus repository</name>
        <!--镜像采用配置好的组的地址-->
        <url>http://192.168.106.125:8081/repository/zxyy_maven/</url>
        <mirrorOf>!internal.repo,*</mirrorOf>
    </mirror>
  </mirrors>

  <profiles>
<profile>
  <!--ID用来确定该profile的唯一标识-->
           <id>jdk-1.8</id>
           <activation>
               <activeByDefault>true</activeByDefault>
               <jdk>1.8</jdk>
           </activation>
           <properties>
               <maven.compiler.source>1.8</maven.compiler.source>
               <maven.compiler.target>1.8</maven.compiler.target>
               <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
           </properties>
   </profile>

    <profile>
  <id>nexus-pr</id>
   <!-- 远程仓库列表 -->
  <repositories>
    <repository>
      <id>zxyy_maven</id>
      <name>Nexus Central</name>
     <!-- 虚拟的URL形式,指向镜像的URL-->
      <url>http://192.168.106.125:8081/repository/zxyy_maven/</url>
      <layout>default</layout>
     <!-- 表示可以从这个仓库下载releases版本的构件-->  
      <releases>
        <enabled>true</enabled>
      </releases>
     <!-- 表示可以从这个仓库下载snapshot版本的构件 -->  
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>
   <!-- 插件仓库列表 -->
  <pluginRepositories>
    <pluginRepository>
      <id>zxyy_maven</id>
      <name>Nexus Central</name>
      <url>http://47.96.44.110:8081/repository/java-group/</url>
      <layout>default</layout>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
         <enabled>true</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>
   </profile>
  </profiles>

  <activeProfiles>
     <!--需要激活 <profile>中的ID才生效-->  
    <activeProfile>nexus-pr</activeProfile>
    <activeProfile>jdk-1.8</activeProfile>
  </activeProfiles>
</settings>
View Code

 

五:内网项目的pom.xml文件需要更新

 

    <repositories>
<!--        <repository>-->
<!--            <id>public</id>-->
<!--            <name>aliyun nexus</name>-->
<!--            <url>https://maven.aliyun.com/repository/public</url>-->
<!--            <releases>-->
<!--                <enabled>true</enabled>-->
<!--            </releases>-->
<!--        </repository>-->
        <repository>
            <id>zxyy_maven</id>
            <name>zxyy_maven</name>
            <url>http://192.168.106.125:8081/repository/zxyy_maven/</url>
        </repository>
    </repositories>
View Code

 

六:idea尝试拉取远程的内网maven仓库,测试可以拉取到本地

标签:repository,nexus,zxyy,仓库,maven,--
From: https://www.cnblogs.com/Esquecer/p/17369284.html

相关文章

  • SonarQube+Maven+SonarQube Scanner
    1、SonarQube简介官方网站地址:https://www.sonarqube.org/SonrQube是一个开源的代码质量管理系统,用于检测代码中的错误,漏洞和代码规范。它可以以现有的Gitlab、Jenkins集成,以便在项目拉去后进行连续的代码检查使用SonarQube静态分析,您可以在一个地方衡量项目中所有语言以及领......
  • Maven的爱恨情仇
    前言    在如今的互联网项目开发当中,特别是Java开发中,可以说Maven是随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何......
  • eclipse中使用maven创建springmvc项目
     第一步,eclipse---File---New---MavenProject 第二步,如图直接Next 第三步,如图直接Next 第四步,GroupId一般写公司域名的反转,ArtifactId写项目名称,然后点击Finish 第五步,创建好项目后,开始修改配置文件<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:......
  • docker搭建本地私有仓库详细步骤
    1、首先下载registry镜像dockerpullregistry12、在daemon.json文件中添加私有镜像仓库的地址并重启vim/etc/docker/daemon.json{ "insecure-registries":["192.168.59.111:5000"],#添加此段,“,”不可少,ip是本机IP地址 "registry-mirrors":["https://4abdkxlk.mi......
  • Idea开发环境中搭建Maven并且使用Maven打包部署程序
    阅读目录1.配置Maven的环境变量2.Idea开发环境中搭建Maven3.使用Maven开发JavaWeb项目(Idea14)4.使用Maven打包JavaWeb项目回到顶部1.配置Maven的环境变量a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示:b.配置M2_HOME的环境......
  • maven
    #maven1.maven基础 Maven是apache提供的一个项目管理工具,它的作用就是管理项目2.maven作用 1).依赖管理[方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题] 1.依赖denpendency依赖(坐标):一个jar包groupId公司域名倒写......
  • SpringBoot Maven打jar包提示no main manifest attribute springboot
    SpringBoot项目打jar包运行jar包提示:nomainmanifestattributespringbootpom依赖:<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-m......
  • eclipse中创建简单maven项目,并导出jar包运行
     第一步,eclipse--New--Other 第二步,选择MavenProject 第三步,直接如图所示点击Next 第四步,也是如图所示点击Next 第五步,输入公司名和项目名,再点击Finish 第六部,右键项目RunAs--Maveninstall,生成jar包,然后复制jar到C盘根目录第七步,如图所示,直接运行......
  • 17、架构师面试题系列之Maven面试专题及答案(18题)
    架构师面试题之Maven专题篇一、Maven有哪些优点和缺点优点如下:1.简化了项目依赖管理:2.易于上手,对于新手可能一个"mvncleanpackage"命令就可能满足他的工作3.便于与持续集成工具(jenkins)整合4.便于项目升级,无论是项目本身升级还是项目使用的依赖升级。5.有助于多模块项目的开发,......
  • Maven
    Maven1.Maven简介1.1Maven是什么Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成运行项目对象模型(POM)POM(ProjectObjectModel):项目对象模型1.2Maven的作用项目构建:提供标准的、跨平台的自动化项目构建方式依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资......