Maven 安装私服 Win10_do not edit - customizations belong in $data-dir/e-程序员宅基地

技术标签: Java  私服  maven  批量上传Jar到私服  maven私服  

Maven 安装私服 Win10

如何安装nexus

1.下载nexus

百度网盘地址

链接:https://pan.baidu.com/s/1qZzNshzqvkA3rHDdjUqxZQ
提取码:z6xl

2.修改端口

打开 nexus-3.18.1-01-win64\nexus-3.18.1-01\etc下的 nexus-default文件

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${
    jetty.etc}/jetty.xml,${
    jetty.etc}/jetty-http.xml,${
    jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

nexus.hazelcast.discovery.isEnabled=true

3.启动

管理员打开cmd

  1. cd 进nexus-3.18.1-01-win64\nexus-3.18.1-01\bin 目录
  2. nexus.exe /install nexus3 安装成服务
  3. net start nexus3 启动服务

然后 访问 localhost:8081(端口修改成你配置的端口)即可

第一次启动需要安装程序,会启动较慢

如果你不想打成服务,且想看到启动的日志

  • nexus.exe /run

然后 访问 localhost:8081(端口修改成你配置的端口)即可

使用nexus

1.登录

请添加图片描述

用户名:admin

密码:第一次登录密码在sonatype-work\nexus3\admin.password文件中,不同的版本不同

2.添加仓库

请添加图片描述
主要了解 Type

  • proxy 代理仓库

  • hosted 存放本地项目

  • group 组

1.新建代理仓库

请添加图片描述

添加仓库名称和url

其它无需修改,直接保存

2.新建本地仓库

请添加图片描述

请添加图片描述

Allow redeploy 允许重复部署jar

4.新建仓库组

请添加图片描述

3.允许匿名访问

请添加图片描述

本地Maven配置

nexus已经安装好了那我们本地maven项目如何访问到私服仓库

1.从私服拉取Jar包

1.在中添加一个profile节点

    <profile>
      <id>dev</id>
      <!--远程仓库列表,它是Maven用来填充构建系统本地仓库所使用的一组远程项目。  -->
      <repositories>
          <!--发布版本仓库-->
          <repository>
              <id>Nexus</id>      
              <!--地址是nexus中repository(Releases/Snapshots)中对应的地址-->
              <url>http://192.168.0.79:8081/repository/private_repo_group/</url>
          <!--true或者false表示该仓库是否为下载某种类型构件(发布版,快照版)开启。 -->
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
      </repository>
      </repositories>
  </profile>   

2.激活配置

在节点下

<activeProfiles>
 <!--     profile下的id-->
    <activeProfile>dev</activeProfile>
</activeProfiles>

1.settings文件中节点添加servers

<server> 
<!--这是server的id(注意不是用户登陆的id),该id与distributionManagement中repository元素的id相匹配。    pom-->
      <id>private_repo</id>
      <username>admin</username>
      <password>123456</password>
</server>

2.在pom文件添加snapshotRepository节点

    <!--部署-->
    <distributionManagement>
        <snapshotRepository>
            <id>private_repo</id>
            <name>Snapshot</name>
            <url>http://192.168.0.79:8081/repository/private_repo/</url>
        </snapshotRepository>
    </distributionManagement>

2.上传

请添加图片描述

3.本地仓库Jar批量上传

   
       public static void main(String[] args) throws IOException {
    
        uploadJar("C:\\Users\\10431\\.m2\\repository","http://192.168.0.79:8081/repository/private_repo_group/");
    }
   
   
   
   
   public static void uploadJar(String path,String uploadUrl) throws IOException {
    
        File file = new File(path);
        File[] files = file.listFiles();
        for (File file1 : files) {
    
            if (file1.isDirectory()) {
    
                uploadJar(file1.getPath(),uploadUrl);
            }else {
    
                if (file1.getName().endsWith(".jar")) {
    
                    String replace = file.getAbsolutePath().replace(depositoryAddress, "");
                    String[] split = replace.split("\\\\");
                    int length = split.length;
                    StringBuilder stringBuilder = new StringBuilder();
                    int end=split.length-2;
                    for (int i = 0; i < end;) {
    
                        stringBuilder.append(split[i]);
                        i++;
                        if(i!=1&&i!=end){
    
                            stringBuilder.append(".");
                        }
                    }
                    String version=split[length-1];
                    String artifactId=split[length-2];
                    String groupID=stringBuilder.toString();
                    String filePath=file1.getPath();
                    String cmd = String.format("cmd /c mvn install:install-file -Durl=%s -DgroupId=%s -DartifactId=%s -Dversion=%s -Dpackaging=jar -Dfile=%s", uploadUrl,groupID, artifactId, version, filePath);
                    Runtime runtime = Runtime.getRuntime();
                    runtime.exec(cmd);
                }
            }
        }
    }
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40495860/article/details/119149782

智能推荐

ad hoc是什么的简称_苹果ios签名有几种?分别什么价格?app分发内测有几种?-程序员宅基地

文章浏览阅读425次。随着经济的发展,苹果手机用户在不断的增加,苹果方面对于app上架也越来越严格,因此,很多app都上架不了。所以逼得很多app开发商不得不另外寻找出路,寻找其他能做苹果app分发下载的渠道。那么目前市场上关于苹果app内测分发的渠道有哪几种呢?接下来大家就和‘咕噜分发’小编一起来看一下。就目前市场上苹果分发的渠道来看,苹果app的分发下载主流主要有4种:AppStore,企业签名,超级签名,TF上架..._adhoc和tf

html页面整体隐藏,从html页面隐藏javascript / jquery脚本?-程序员宅基地

文章浏览阅读326次。最好的办法是在加载dom树后立即删除脚本标记,或者在javascript中动态创建脚本标记.无论哪种方式,如果有人想使用Web开发人员工具或Firebug,他们仍然会看到javascript.如果它在浏览器中,它将被看到.动态创建脚本标记的一个优点是,如果关闭javascript,则不会加载javascript.如果我关闭了javascript,我仍然可以在html中看到所有内容,因为您无法删除脚..._html隐藏脚本

搭建Ubuntu 10.04系统(嵌入式开发) _initrd.lz和vmlinuz下载-程序员宅基地

文章浏览阅读3.9k次。搭建Ubuntu 10.04系统(嵌入式开发) 1. 下载安装:1.1下载ubuntu:http://cdimage.ubuntu.com/releases/ 1.2 安装ubuntu:1.2.1 硬盘安装: (windows,硬盘安装ubuntu)------------ boot.ini: ------------------------[boot loader]timeout=10default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS[operatin_initrd.lz和vmlinuz下载

「Tensorflow」基于CNN的数字OCR识别_tensorflow ocr-程序员宅基地

文章浏览阅读1.9k次,点赞4次,收藏14次。导读对于人类来说,识别手写的数字是一件非常容易的事情。我们甚至不用思考,就可以看出下面的数字分别是1,2,3。本期将使用Tensorflow搭建卷积神经网络,进行手写数字的识别。代码可关注公众号 IamZLT,后台回复「手写数字识别」即可免费获取。本系列文章Part1:基于CNN的数字OCR识别part2:基于CNN的汉字识别预处理对于手写数字的初始图片如下所示。在搭建网络前我们需要对其进行预处理。▌读入图片并进行二值化图像._tensorflow ocr

数据结构笔记03 线性表_int function (sq)-程序员宅基地

文章浏览阅读215次。线性表定义:零个或多个【数据元素】的有限集合 抽象数据类型:(可以参考大话数据结构)ADT 线性表(List)Data ...Operation ...endADT 线性表的顺序存储结构、链式存储结构a. 顺序存储结构源码:#include#include#define MAXSIZE 20#define OK 1#define_int function (sq)

枚举、二分问题总结_二分枚举-程序员宅基地

文章浏览阅读1.6k次。枚举算法设计步骤:1.确定枚举对象2.逐一列举可能解3.逐一验证可能解例题:数组配对—枚举题目描述给你一个长度为n的数组和一个正整数k,问从数组中任选两个数使其和是k的倍数,有多少种选法对于数组a1=1 , a2=2 , a3=2而言:(a1,a2)和(a2,a1)被认为是同一种选法;(a1,a2)和(a1,a3)被认为是不同的选法。输入数据第一行有两个正整数n,k。n<..._二分枚举

随便推点

android应用程序安装后自动打开_android 安装应用并自动打开-程序员宅基地

文章浏览阅读8.5k次。GetBroadcast.registerReceiver(getApplicationContext());//注册广播,用于监听应用是否安装完成//安装apkIntent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(new File(fileURL)),"applicati_android 安装应用并自动打开

大坑:git无法添加一个空的文件夹_git 文件夹没有内容不可以add 吗-程序员宅基地

文章浏览阅读2.3w次,点赞3次,收藏9次。楔子今天在github上创建了个有初始化选中Initialize this repository with a README(初始化本库)的空白工程,然后用git clone到本地。我本意想创建一个gradle规范的目录,于是创建了.gitignore , README.md, settings.gradle这几个标准的文件,然后通过如下的脚本创建标准的代码目录。task "create-d..._git 文件夹没有内容不可以add 吗

phpexcel 设置批注_PHPExcel-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护...-程序员宅基地

文章浏览阅读591次。首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把classes解压到你项目的一个目录中,重名名为phpexcel,开始喽,(代码都摘自自带实例)程序部分require_once'./phpexcel/PHPExcel.php';//首先创建一个新的对象..._phpexcel_style_fill

html的<c >循环,C标签之forEach-程序员宅基地

文章浏览阅读2.8k次。属 性描 述是否必须缺省值items进行循环的项目否无begin開始条件否0end结束条件否集合中的最后一个项目step步长否1var代表当前项目的变量名否无varStatus显示循环状态的变量否无varStatus 属性JSTL中的varStatus和 var 属性一样。varStatus 用于创建限定了作用域的变量。只是。由 varStatus 属性命名的变量并不存储当前索引值或当前元素,而是..._html foreach

动态规划专题:beginner_字典序最小的lis-程序员宅基地

文章浏览阅读676次。UVa 11584:看了这道题我才知道我的思维有多弱……纠结了好久…… 状态转移方程:d[i]=min{d[j-1]+1|str[j-->i]为回文串}。 LA4256:水题一道,可我又搞了半天!就因为少记录了一维! 状态转移方程为:d[i][u]=min{d[i+1][v]|u,v相连},如果u!=原串的第i个数,再加上1。 UVa 105_字典序最小的lis

ecplise 如何导入包到web app library-程序员宅基地

文章浏览阅读545次。2019独角兽企业重金招聘Python工程师标准>>> ..._ecplise web app libary

推荐文章

热门文章

相关标签