Java 如何造轮子?如何封装自己的Jar包供别的项目调用?只需要这几步 ~

日常项目中我们是如何使用别人的开源项目的?

众所周知,一般我们在项目开发中都会引用很多的第三方或者其他项目的组件和类对象,我们可能有两种方式管理这些外部项目,两个非常强大的构建和管理Java项目的工具 Maven和Gradle。就拿 Maven举例,Maven有两个非常强大的功能 依赖管理 和 中央仓库(Central Repository)。正是因为有了这两个功能,使我们日常项目开发中引入开源项目的步骤变得非常简单。

想一想是不是我们日常集成一个开源的项目的时候,只需要在Maven的pom.xml中引入一个依赖

xml 复制代码
<dependency>
    <groupId>com.xxx</groupId>
    <artifactId>xxx-java-sdk-xxx</artifactId>
    <version>${xxx.version}</version>
</dependency>

然后更新依赖,也就是 Reload All Maven Project ,你的 Libraries 中就会出现。

当出现上图之后,就可以顺利的使用这个开源项目中的类库和方法了。

但是究其根源,Maven开头的这些项目其实是存储在Maven的中央仓库(Central Repository)中,开源公司或者个人只需要打包自己的开源项目,然后上传到Maven的中央仓库中,然后我们需要集成这个开源项目的时候在用Maven将这个项目拉取下来,就可以在本地使用了。

那自己的项目想要封装成轮子让别人引用,需要怎么做呢?

其实很简单,你将刚才的 Maven 依赖点开。

有没有发现了很熟悉的东西,jar包。就是和我们java在部署上线的时候的jar一样。

Jar 包

在Java中,JAR(Java Archive)包是一种用于打包和压缩Java类、资源文件和元数据的文件格式。JAR文件通常用于分发Java应用程序或库。

JAR包定义包括以下几个重要方面:

  1. 结构:JAR包是一个压缩文件,其内部包含了Java类文件、资源文件、元数据文件(如清单文件Manifest)以及其他可能需要的文件。JAR包采用zip格式进行压缩,可以包含一个或多个目录和文件。
  2. 打包工具 :在Java开发中,通常使用JDK自带的jar命令行工具或者构建工具(如Maven、Ant等)来创建JAR包。这些工具可以指定JAR包的文件组织结构、清单文件内容、以及其他选项。
  3. 执行 :JAR包可以被Java虚拟机(JVM)直接执行。通常情况下,使用java -jar命令即可直接启动JAR包中所包含的主类。
  4. 分发:JAR包是Java程序分发和交付的标准格式之一。它允许开发者将程序和相关资源打包为一个文件,便于在不同的环境中进行传播和部署。

其实你可以理解为它就是一个压缩包,将我们的项目压缩成为一个文件然后供其他外部使用。

所以呢如果我们自己想要封装一个轮子,供给外部使用,只需要我们将自己的项目打成jar包,然后别人项目调用即可。

光说理论没用的,如何一步一步实现它呢?

第一步,我们首先创建一个Java项目

就拿最简单的,我们的原生的java做个示例吧。

首先我们需要创建一个Java项目。

就拿最简单的,我们的原生的java做个示例吧。

第二步,创建我们的工具类

接着我们需要创建一个调用类,这里写了一个计算器类,方法是简单的求两个整数之和。

我们这个项目中必须要写Main,否则打包工具不通过我们的请求,main方法可以什么都不写。(打包的时候会检测我们项目中有没有可执行的线程,如果我们知识需要做一个工具类库的话,main方法就是个摆设,加着就好,不用管他。)

第三步,打包

按照下边的步骤在IDEA中一步一步来

  • 第一步
  • 第二步
  • 第三步
  • 第四步
  • 第五步
  • 第六步

我们的jar包就打包好了

接下里看看这个项目打成的jar包被其他项目如何引用吧

首先创建一个新项目,就叫QuoteTestPackJar,然后和src目录平齐创建一个lib文件夹,将jar包复制进去。

然后将这个lib文件夹加入Library。

接下来我们来试试看能不能调用我们的TestPackjar中的Calculator中的add方法吧。

OK,调用成功。

这就是一个造轮子的一个简单的示例。如果你想你自己的开源项目被大家都使用,可以将你的开源项目上传到Maven的中央仓库(Central Repository),具体如何上传,可能我抽空会上传一个自己的开源项目上去,然后将步骤记录下来,期待接下来的文章吧!

如果你需要造一个轮子,你需要的是创意、灵感 和 深厚的计算机知识和代码的基本工,本文只是用一个简单的例子来告诉你一件你一直在用,但是并没有在意的一件事情。

其实一个程序员可以去造轮子,是一件非常酷的事情。

期待你对开源社区的贡献。

总结

一定要多思考,如果人永远待在舒适圈的话,人永远不会成长。共勉

觉得作者写的不错的,值得你们借鉴的话,就请点一个免费的赞吧!这个对我来说真的很重要。૮(˶ᵔ ᵕ ᵔ˶)ა

相关推荐
秋饼9 分钟前
MCP 2026-07-28 无状态协议大改版:Spring AI 2.1 多轮往返请求与网关路由落地
java·ai·技术分享·后端开发
fthux38 分钟前
总想着“忙完再休息”?让 Tick Rest 提醒你,先歇一会儿
开源·github·mac·swift·提醒·消息提醒·tick rest·tick rest for mac·消息提醒app
SL_staff1 小时前
JVS-BI 实战:业务人员如何用零代码 ELT + 可视化配置构建实时经营分析闭环
java·spring·全栈
SL_staff2 小时前
企业AI落地难?JVS-AI渐进式实践:安全可控、小切口验证、标准化沉淀与规模化复制
java·开源·aigc
一知半解仙2 小时前
乌镇2026:当“智能互联网”第一次被数据照进现实
人工智能·物联网·机器人·开源
SL_staff3 小时前
JVS数字底座实践:构建企业级统一内容管理平台的技术路径
java·产品
nice_lcj5203 小时前
【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端
java·后端·spring·spring ai·ai应用开发
桦说编程4 小时前
TransmittableThreadLocal 解读:从 CRR 机制到上下文所有权
java·后端·源码
xys_6785 小时前
JavaEE通关手册:初识Java
java·开发语言
文丑颜不良啊5 小时前
LeetCode2461~2480题目解析
java·leetcode