【Gradle】Maven-Publishing

news2024/11/28 14:36:28

使用Java开发完成一个模块或者一个基础框架需要提供给团队项目使用,这个时候有两种方式可提供,一是提供源码,二是提供编译构建好的jar包供使用,这个时候需要讲构建好的包发布到公司的私服(公司maven仓库),可以通过项目构建工具Maven发布也可以通过Gradle发布。下面我以Gradle发布为例。

1.添加依赖

在项目build.gradle文件中添加依赖一个maven发布的插件'maven-publish'

plugins {
    id 'maven-publish'
}

2.发布配置

发布之前需要配置需要发不到maven仓库的地址以及认证相关参数。

2.1.所有项目的通用配置

allprojects {
    group 'com.test'
    version '1.0.4'
    //指定字符编码
    tasks.withType(JavaCompile){
        options.encoding = "UTF-8"
    }
}

2.2.发布maven仓库地址

publishing {
    publications {
        myLibrary(MavenPublication){
            groupId project.group //默认是模块的group,需要跟build时保持一致
//            artifactId project.name //默认是模块的artifactId,需要跟build时保持一致
            version project.version //默认是模块的版本,需要跟build时保持一致
            from components.java //发布的是jar包,发布war包components.web。
        }
    }
    repositories{
        //发布到本地maven 仓库文件夹,会发布到本地仓库${USER_HOME}/.m2/setting.xml配置的仓库目录
        //publish 和 publishToMavenLocal都会执行
        mavenLocal()

        //发布到本地私服nexus,
        //只有publish才会执行
        maven {
            credentials {
                username = 'xxx'
                password = 'xxx
            }
            allowInsecureProtocol = true  //允许http访问
            url = 'http://localhost:8081/repository/aipark-hosted' //本地nexus私服地址,如果写失败,需要对nexus仓库设置权限。
        }
    }
}

 3.执行发布

配置完maven发布的配置后执行发布命令

gradle clean publish

如果没有安装gradle可以通过gradlew执行

./gradlew clean publish

也可以通过gradle面板执行,如下图:

发不到本地maven仓库

gradle clean publishToMavenLocal

publish和publishToMavenLocal的执行有何区别?

publish:所有定义的publication发布到所有定义的存储库的聚合任务。也就是build.gradle脚本publishing配置本地何远程的仓库都会执行。

publishToMavenLocal:将所有定义的publication复制到本地 Maven 库中,包括它们的元数据 (POM 文件等),不会执行远程仓库的发布。

4.查看执行结果

执行publish可以看到本地maven仓库,也就是${USER_HOME}/.m2/setting.xml配置的仓库目录

我的本地maven仓库目录在:${USER_HOME}/Documents/mavenReposity/

本地maven仓库:

远程maven私服仓库:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新版git2.43安装、记住用户名和密码以及tortoisegit2.15使用

一、下载git 打开git官网地址:https://git-scm.com/进行下载 下载完安装,一直next就好,如果愿意就可以改下安装路径,改在d盘。 具体可以参考:git安装教程 二、安装完下载小乌龟以及中文语言包 下载地址:…

SQL性能分析

SQL性能分析 1、SQL执行频率 ​ MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信 息。通过如下指令,可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频次: -- session 是查看当前会话 ; …

【Maven】009-Maven 简单父子工程搭建

【Maven】009-Maven 简单父子工程搭建 文章目录 【Maven】009-Maven 简单父子工程搭建一、需求说明1、结构2、第三方库 二、工程搭建1、父工程第一步:创建父工程第二步:引入公共依赖 lombok 和管理 hutool 依赖版本 2、公共子模块第一步:创建…

越来越多的人学习PMP,2024年考PMP还有价值吗?

转管理是大部分人30人的想法,尤其是 IT行业有个 "35大关”考PMP的人是最多的。 “经验式管理终将成为过去,专业式管理才是时代趋势”,要想做好一个项目经理,系统的项目管理知识和项目经验缺一不可。经验是需要积累的&#x…

spring boot学习第七篇:通过spring boot使用redis

1、pom.xml文件里面增加如下依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2、yml文件增加如下配置&#xff1a; redis:host: loc…

pytest -- 进阶使用详解

pytest-html⽣成报告 Pytest-HTML 是⼀个插件&#xff0c;它可以⽣成漂亮且易于阅读的 HTML 测试报告。 pytest-html ⽣成报告的步骤 ① 安装 pytest-html 插件&#xff1a; pip install pytest-html ② 运⾏测试并⽣成报告&#xff1a; file name:main.pyimport pytest&qu…

自动驾驶3.0时代,大模型将重塑竞争格局,谁将笑到最后?

“毫末DriveGPT发布200天左右的时间&#xff0c;已经完成了亿级公里量产驾驶数据训练&#xff0c;累积高达480万段Clips的高质量测试。” 在2023&#xff08;第七届&#xff09;高工智能汽车年会上&#xff0c;毫末智行上海研发中心负责人孙宣峰在发表《自动驾驶 3.0 时代&…

NAS入门(学习笔记)

文章目录 AutoMLNAS初期NAS当前NAS框架One-Shot NAS权重共享策略 Zero-Shot NASZen-NASNASWOTEPENAS 参考资料 AutoML 深度学习使特征学习自动化 AutoML 使深度学习自动化 自动化机器学习 (automated machine learning) 是一种自动化的数据驱动方法, 并做出一系列决策。 按…

Flutter 综述

Flutter 综述 1 介绍1.1 概述1.2 重要节点1.3 移动开发中三种跨平台框架技术对比1.4 flutter 技术栈1.5 IDE1.6 Dart 语言1.7 应用1.8 框架 2 Flutter的主要组成部分3 资料书籍 《Flutter实战第二版》Dart 语言官网Flutter中文开发者社区flutter 官网 4 搭建Flutter开发环境参考…

如何提高匹配的速度

基于形状的匹配&#xff0c;改进了无数次&#xff0c;其实已经很满意了。 想起刚入门机器视觉那会儿&#xff0c;我们写的代码&#xff0c;无论c还是c#的&#xff0c;都是调用人家的函数&#xff0c;从来没想过&#xff0c;自己有一天把这些函数代替了。 那时候调用evision的…

GaussDB技术解读系列:5分钟带您了解DRS录制回放

一、什么是DRS录制回放&#xff1f; DRS录制回放是将源数据库发生的真实业务流量&#xff0c;在目标数据库模拟执行&#xff0c;从而观察和检验目标数据库的功能和性能表现。录制回放主要分为录制、回放两个阶段&#xff0c;录制过程是从源数据库上将所需时间段内的全部SQL原语…

3、深入解析Redis Cluster集群运维与核心原理

在今天的大规模分布式系统中&#xff0c;Redis Cluster已经成为了许多企业选择的分布式缓存方案之一。了解Redis Cluster的运维及核心原理对于确保系统的高可用性和性能至关重要。本文将深入探讨Redis Cluster集群的运维细节和核心原理&#xff0c;以帮助读者更好地理解和优化R…

rabbitmq基础教程(ui,java,springamqp)

概述&#xff1a;安装看我上篇文章Docker安装rabbitmq-CSDN博客 任务一 创建一个队列 这样创建两个队列 在amq.fanout交换机里面发送数据 模拟发送数据 发送消息&#xff0c;发现一下信息&#xff1a; 所以得出理论&#xff0c;消息发送是先到交换机&#xff0c;然后由交换机…

软件开发架构

【 一 】软件开发架构图 【 1】ATM和选课系统 三层的开发架构 前段展示台 后端逻辑层 数据处理层 【二】软件开发架构的步骤流程 需求分析&#xff1a;在软件开发架构设计之前&#xff0c;需要对应用系统进行需求分析&#xff0c;明确用户需求、功能模块、业务流程等内容。…

Java可视化物联网智慧工地综合云平台源码 私有化部署

智慧工地平台围绕建筑施工人、物、事的安全管理为核心&#xff0c;对应研发了劳务实名制、视频监控、扬尘监测、起重机械安全监测、安全帽监测等功能一体化管理的解决方案。 智慧工地是聚焦工程施工现场&#xff0c;紧紧围绕人、机、料、法、环等关键要素&#xff0c;综合运用…

MongoDB调优

三大导致 MongoDB 性能不佳的原因 1&#xff09;慢查询2&#xff09;阻塞等待3&#xff09;硬件资源不足1,2通常是因为模型/索引设计不佳导致的。排查思路&#xff1a;按1-2-3依次排查。 影响 MongoDB 性能的因素 MongoDB 性能监控工具 Free Monitoring 从版本 4.0 开始&am…

Template Engine-06-模板引擎 Handlebars 入门介绍

拓展阅读 java 表达式引擎 logstash 日志加工处理-08-表达式执行引擎 AviatorScriptMVELOGNLSpELJEXLJUELJanino QLExpress 阿里表达式引擎系统学习 什么是 Handlebars&#xff1f; Handlebars 是一种简单的模板语言。 它使用模板和输入对象生成 HTML 或其他文本格式。Ha…

C Primer Plus 第6版 编程练习 chapter 15

文章目录 1. 第1题1.1 题目描述1.2 编程源码1.3 结果显示 2. 第2题2.1 题目描述2.2 编程源码2.3 结果显示 3. 第3题3.1 题目描述3.2 编程源码3.3 结果显示 4. 第4题4.1 题目描述4.2 编程源码4.3 结果显示 5. 第5题5.1 题目描述5.2 编程源码5.3 结果显示 6. 第6题6.1 题目描述6.…

使用easyexcel 导出多级表头demo

先看效果&#xff1a; 1、引入maven依赖 <!--EasyExcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version> </dependency> 2、实体类 package com.…

c语言 编译与链接

编译与链接 翻译环境和执行环境翻译环境1.1预编译1.2编译1.3汇编&#xff08;ASM&#xff09;2.链接 执行环境最后给大家附上一张关于本节知识内容的图供大家更好理解~ ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/522d488885ba44d99aa504d6b21c88d5.png) &…