自己动手造轮子:如何创建JAR并通过Maven在Spring Boot中引用

让代码复用变得简单优雅------3分钟学会封装专属工具库

作为Java开发者,你是否遇到过这些痛点?

  • 多个项目重复编写相同工具类

  • 工具代码分散难以统一维护

  • 团队协作缺乏标准化工具库

本文将手把手教你创建自己的JAR包,并优雅地集成到Spring Boot项目中,从此告别CV大法!

一、5分钟创建你的专属JAR

第一步:初始化Maven项目

1.File》New》Project

选择java

1. 语义化版本控制

pom.xml中采用标准版本格式:

XML 复制代码
<!-- pom.xml -->
<project>
    <groupId>com.dafu</groupId>
    <artifactId>my-utils</artifactId>
    <version>1.0.0</version>  <!-- 主版本.次版本.修订号 -->
    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
    </properties>
</project>
第二步:编写核心工具类

创建文件:src/main/java/com/dafu/utils/StringUtils.java

java 复制代码
package com.dafu.utils;

/**
 * @author:DaFu
 * @date: 2025/7/24 11:17
 */
public class StringUtils {

    // 首字母大写转换
    public static String capitalize(String str) {
        if (str == null || str.isEmpty()) {
            return str;
        }
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }

    // 生成随机字符串
    public static String randomString(int length) {
        String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < length; i++) {
            sb.append(chars.charAt((int) (Math.random() * chars.length())));
        }
        return sb.toString();
    }

    public static String toUpperCase(String input) {
        return input != null ? input.toUpperCase() : "";
    }

}
第三步:打包并安装到本地仓库
3.1命令打包
bash 复制代码
# 进入项目目录
cd my-utils

# 打包并安装到本地Maven仓库
mvn clean install
3.2在 IDE 中安装(IntelliJ IDEA 示例)
  1. 打开右侧 Maven 工具窗口

  2. 展开你的自定义项目

  3. 双击执行 Lifecycle → clean

  4. 双击执行 Lifecycle → install

控制台看到如下输出即表示成功:

INFO\] --- install:3.1.2:install (default-install) @ my-utils --- \[INFO\] Installing D:\\我的文件\\专属JAR\\my-utils\\pom.xml to C:\\Users\\Administrator\\.m2\\repository\\com\\dafu\\my-utils\\1.0.0\\my-utils-1.0.0.pom \[INFO\] Installing D:\\我的文件\\专属JAR\\my-utils\\target\\my-utils-1.0.0.jar to C:\\Users\\Administrator\\.m2\\repository\\com\\dafu\\my-utils\\1.0.0\\my-utils-1.0.0.jar \[INFO\] ------------------------------------------------------------------------ \[INFO\] BUILD SUCCESS \[INFO\] ------------------------------------------------------------------------ \[INFO\] Total time: 0.874 s \[INFO\] Finished at: 2025-07-24T11:36:39+08:00 \[INFO\] ------------------------------------------------------------------------

安装后的文件位置:

安装后的文件会出现在以下路径:

~/.m2/repository/你的groupId/你的artifactId/版本号/

例如:

~/.m2/repository/com/dafu/my-utils/1.0.0/

├── my-utils-1.0.0.jar

├── my-utils-1.0.0.pom

└── 其他元数据文件

验证安装是否成功:

  1. 检查本地仓库

    bash 复制代码
    # Linux/macOS
    ls ~/.m2/repository/com/dafu/my-utils/1.0.0
    
    # Windows
    dir %USERPROFILE%\.m2\repository\com\dafu\my-utils\1.0.0

二、Spring Boot项目中的优雅集成

第一步:添加依赖到pom.xml
XML 复制代码
   <!--引用自定义 my-utils JAR -->
        <dependency>
            <groupId>com.dafu</groupId>
            <artifactId>my-utils</artifactId>
            <version>1.0.0</version>
        </dependency>

引用自定义 my-utils JAR 刷新Maven

第二步:在Spring Boot中调用工具类

创建测试: src/test/java/com/dafu/springboottest/SpringBootTestApplicationTests.java

四、常见问题排雷指南

问题1:依赖找不到(ClassNotFound)

✅ 解决方案:

bash 复制代码
# 1. 检查本地仓库是否存在该JAR
ls ~/.m2/repository/com/dafu/my-utils

# 2. 强制更新依赖
mvn clean install -U

五、为什么值得封装自己的JAR?

  1. 代码复用率提升:一次封装,终身受益

  2. 统一技术栈:团队共享标准化工具库

  3. 持续演进能力:独立更新不影响主项目

  4. 专业度提升:展现架构设计能力

优秀的开发者不仅是工具的使用者,更是工具的创造者。

相关推荐
汤姆yu4 小时前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
暮色妖娆丶4 小时前
Spring 源码分析 单例 Bean 的创建过程
spring boot·后端·spring
biyezuopinvip5 小时前
基于Spring Boot的企业网盘的设计与实现(任务书)
java·spring boot·后端·vue·ssm·任务书·企业网盘的设计与实现
JavaGuide6 小时前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
figo10tf6 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva6 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露6 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
程序员敲代码吗6 小时前
Spring Boot与Tomcat整合的内部机制与优化
spring boot·后端·tomcat
NuageL7 小时前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
jzheng86107 小时前
Spring Boot(快速上手)
java·spring boot·后端