需求背景

有些第三方的jar包需要手动上传到maven私有仓库,以便通过maven来管理依赖.

为简化手动上传的jar包的操作步骤,所以整了个脚本,在使用时只需修改相应变量即可。

脚本示例

#!/bin/bash

jarFile="test.jar"
groupId="com.wywtime"
artifactId="test"
version="1.0.0"
# 私有仓库地址
mvn_repository="http://localhost:12345/repository/lib" # 将点转化为斜杠
path=`echo ${groupId} | sed "s/\./\//g"` # 动态生成pom文件
cat > ${artifactId}-${version}.pom <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
</project>
EOF # 上传jar文件
curl -u "admin:admin" -X PUT -v -T ${jarFile} ${mvn_repository}/${path}/${artifactId}/${version}/${artifactId}-${version}.jar # 上传pom文件
curl -u "admin:admin" -X PUT -v -T ${artifactId}-${version}.pom ${mvn_repository}/${path}/${artifactId}/${version}/${artifactId}-${version}.pom # 删除动态生成的pom
rm -rf ${artifactId}-${version}.pom

本地JAR包如何上传私有仓库的更多相关文章

  1. java~gradle构建公用包并上传到仓库~使用私有仓库的包

    在新的项目里使用仓库的包 上一讲中我们说了java~gradle构建公用包并上传到仓库,如何发布公用的非自启动类的包到私有仓库,而这一讲我们将学习如何使用这些包,就像我们使用spring框架里的功能包 ...

  2. java~gradle构建公用包并上传到仓库

    java~gradle构建公用包并上传到仓库 我们一般会把公用的代码放在一个包里,然后其它 项目可以直接使用,就像你使用第三方包一样! 仓库 存储包的地方叫做仓库,一般可以分为本地仓库和远程仓库,本地 ...

  3. Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】

    搭建私有服务器 前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找->私有仓库->中心仓库- 然而,我们的本地仓库常常没有想要的 ...

  4. SpringBoot项目打成jar包后上传文件到服务器 目录与jar包同级问题

    看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用Sp ...

  5. 多个module实体类集合打一个jar包并上传至远程库

    本章内容主要分享多个module中的实体类集合生成到一个jar包中,并且发布到远程库:这里采用maven-assembly-plugin插件的功能来操作打包,内容不长却贴近实战切值得拥有,主要节点内容 ...

  6. docker上传私有仓库报错

    docker 1.17 版本搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client” 系统环境:centos7docker版本:1.17(注意版 ...

  7. mvn 本地jar包 加入自己的maven仓库

    -Dfile :你的jar的名称 -DgroupId :在pom中的groupId -DartifactId :在pom中的artifactId -Dversion :在pom中的version 在j ...

  8. docker 基于现有镜像修改后保存,上传私有仓库

    docker:/root# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f3cb864be528 192.168.3 ...

  9. Gradle5.x打jar包上传maven仓库

    1.上传本地仓库 1.1 build.gradle 项目设置 plugins { id 'java' id 'maven' //引入maven插件 } group 'com.inkyi' //包名 v ...

  10. 如何将本地jar包放入本地maven仓库和远程私服仓库

    1.将本地jar包放入本地仓库.只需执行如下命令即可: mvn install:install-file -Dfile=D:/demo/fiber.jar -DgroupId=com.sure -Da ...

随机推荐

  1. WPF 实现文件、图标拖放功能(支持UAC的那种)

    WPF实现文件拖放功能,正常情况并没有什么问题,但是如果你的程序使用管理员身份启动,你就会发现文件拖放功能就会失效. 这是因为WPF 在不同UAC等级下,是不允许拖放的. 原理很简单,与桌面相关联的进 ...

  2. 堆相关题目-python

    栈&队列&哈希表&堆-python  https://blog.csdn.net/qq_19446965/article/details/102982047 1.丑数 II 编 ...

  3. mysql错误号码2003 can't connect to mysql server on 'localhost' (0)解决方案

    找到mysql安装目录下的Bin目录,在cmd中进入这个目录,运行net start mysql 却显示服务名无效 所以此时 首先在MYSQL的安装目录bin下,输入mysqld --install ...

  4. Java面向对象之static关键字详解

    static关键字详解 package OOP.Demo10; public class Person { //2:赋初值 { System.out.println("匿名代码块" ...

  5. iview、render使用方法

    1.<Table size="large" :columns="columns7" :data="labelInput.label" ...

  6. 星链技术设计(starlink techriage design)

    1.星链  定义:  星链,是美国太空探索技术公司的一个项目,太空探索技术公司计划在2019年至2024年间在太空搭建由约1.2万颗卫星组成的"星链"网络提供互联网服务,其中158 ...

  7. [3] ScanRefer论文精读 3DVisual Grounding开山之作

    论文名称:ScanRefer: 3D Object Localization in RGB-D Scans using Natural Language 这篇文章最主要的工作,我觉得是两个,第一,提出 ...

  8. 基于Vue项目+django写一个登录的页面

    基于Vue项目+django写一个登录的页面 前端 借用了一下vue项目模板的AboutView.vue 页面组件 <template> <div class="about ...

  9. oracle导出csv文件后导入mysql

    场景: oracle数据库中有与mysql同名表,需要将oracle表数据导入mysql,需要手工操作 工具: navicat premium 解决方案: 1.使用plsql工具从oracle导出cs ...

  10. oracle 索引操作

    1 查询表中所有的索引 -- 固定写法"tb_user"(注意大小写)为表名 select * from user_indexes where table_name='tb_use ...