使用Jitpack发布开源Java库的详细流程
作者:Stars-one 发布时间:2021-12-18 06:55:58
很久之前也写过一篇使用Jitpack发布Android开源库的文章,详见Android发布项目到jitpack的完整步骤
近来因为工作原因,又重新整理总结一些使用Jitpack的相关使用技巧,由于现在Java常用的构建工具为Gradle和Maven,所以准备分为两大部分讲解下这两个构建工具如何发布Jitpack的开源库
gradle
gradle主要讲解以Android项目为主,如果是普通的Java项目使用了gradle进行了依赖管理,那么流程是一样的,按照步骤来即可
发布流程
1.创建module
先是创建一个module,在里面实现你自己的相关代码
输入你自己想要的module名和包名,module名保留那两个省略号(改后面的名字即可)
我这里则是创建了一个update的module作为示例,如下图所示:
然后就可以在里面写自己的代码了(当然,我这里是Android的项目,可以在里面写Android的页面等代码),和平常开发一样
2.Gradle插件设置
默认各位做完了自己的开发工作,为了演示,我这里简单地写了个测试类,用来弹窗
首先,在项目的根gradle设置中增加以下代码(其实就是个打包插件):
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
在module中的gradle文件增加下面代码:
id 'com.github.dcendents.android-maven'
//这里是我自己的github账户,需要改成你自己的
group = 'com.github.stars-one'
3.项目上传github
这里不多说了,默认各位都懂用github了
4.github创建relase版本
5.发布开源库
访问jitpack的官网https://jitpack.io/,输入我们开源库的名字,找到我们的开源库,选择get it
即可发布版本
发布的版本,需要等待一段时间(最长要15分钟),由Jitpack服务器进行编译的操作,之后看到状态
6.使用
之后再gradle文件添加仓库源和依赖即可使用,可以贴心一点把此引用技巧补充到项目的readme.md
文件中,这样便大功告成!
关于多模块moudle
上面演示只是试了一个项目中存在单个module的情况,但是有时候我们一个项目可能分了几个module,这几个module之间有一个是必须的,而其他则是可选的,你们这个时候应该如何操作呢?
答案很简单,和上述的操作是一样的
但是之后,在Jitpack发布成功后,你得手动去看下log日志,来确定版本号
查看log直接翻到末尾处,可以查看到module
之后引用就不用多说了吧
implementation 'com.github.stars-one.android-component-libray:update:0.2'
implementation 'com.github.stars-one.android-component-libray:webviewBase:0.2'
PS:这里需要注意,有多个module后,不要自以为之前那种方式是一次性引入全部依赖的,如下所示
//这样依赖,项目中不会报错,但是无法使用具体的类的(即引用无效)
implementation 'com.github.stars-one.android-component-libray:0.2'
maven
上面主要是讲解的了Gradle项目,再来补充下Maven项目
Maven相对于Gradle来说,就比较简单了,只要你新建的是一个maven项目,上传到github之后,按照上述的操作进行发布即可
但是,为了方便使用,我们需要配置下只pom.xml,设置主要为了可以看注释文档和源码,
pom.xml配置如下:主要是配置了下插件即可
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration> <!-- Compile java 7 compatible bytecode -->
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin> <!-- Create sources.jar -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugins>
</build>
需要注意的是:最后使用Jitpack发布的时候,包名是com.github.stars-one,不会使用在pom.xml中定义的包名和版本号,如下面两个截图可以说明:
关于多模块module
多模块的话,其实和单module有些类似,这里就不过多展开
不过,官方给的示例中,明确了可以直接导入所有所有依赖
官方实例项目
单module jitpack/maven-simple: Example Maven project demonstrating the use of
多module jitpack/maven-modular: Example multi-module Maven project
参考
Building :: Documentation for JitPack.io
小记多lib module上传JitPack_chidh的博客-CSDN博客
来源:https://www.cnblogs.com/stars-one/p/15871077.html
猜你喜欢
- 在《Spring Boot Hello World》中介绍了一个简单的spring boot例子,体验了spring boot中的诸多特性,
- 全面解析java注解Java中的常见注解 a.JDK中的注解 @Override 覆盖父类或者父接口的方
- 命令模式的介绍命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象每一个命令都是一个操作:请求的一方发出
- SpringBoot线程池和Java线程池的用法和实现原理使用默认的线程池方式一:通过@Async注解调用public class Asyn
- 本文实例讲述了java实现日期拆分的方法。分享给大家供大家参考。具体如下:如:计算6-1至6-5之间的日期天数及具体日期,预期的结果是得到:
- 一、二叉搜索树插入元素/** * user:ypc; * date:2021-05-18; * time: 15:09; */
- 一.前言在日常的开发中,经常需要对方法参数进行校验(非空、长度等)。如果采用hardcode去校验(if..else..),会造成代码冗余,
- Rmb.javapublic class Rmb { /** *人民币的基本信息和操作 *@auth
- 前言最近在逛博客的时候看到了有关Redis方面的面试题,其中提到了Redis在内存达到最大限制的时候会使用LRU等淘汰机制,然后找了这方面的
- 一、Socket是什么Socket 的中文翻译过来就是“套接字”。套接字是什么,我们先来看看它的英文含义:插座。Socket 就像一个电话插
- import java.text.ParseException;import java.text.SimpleDateFormat;impo
- 本文实例讲述了Android TextView跑马灯效果实现方法。分享给大家供大家参考,具体如下:public class MyTextVi
- 一、前言Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用
- 关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)应用场景:很多时候我们想要在某个类加载完毕时
- 1. 栈1.1 概念栈:是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。特点:栈中的数据元素遵循先进后出的原则,但要注意进的
- 目录第一种方式第二种方式第三种方式第四种方式(缺点:将所有的数字类型都会转为字符串)web项目中,Java后端传过来的Long/long类型
- 1. json数据类型类型描述Number数字型String字符串型Boolean布尔型Array数组Object对象null空值(1)js
- 前言:this 和 super 都是 Java 中常见的关键字,虽然二者在很多情况下都可以被省略,但它们在 Java 中所起的作用是不可磨灭
- 一、引言Good Good Study,Day Day Up,童鞋点个关注,不迷路,么么哒~~~MP自带的条件构造器虽然很强大,有时候也避免
- 一、前往 jetbrains 官网下载 IDEA Ultimate版本https://www.jetbrains.com/idea/down