自己动手造轮子:如何创建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. 专业度提升:展现架构设计能力

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

相关推荐
砚底藏山河15 小时前
量化实战:截面因子有效性检验(IC 分析与分层回测)
java·python·金融·maven
java、iOS、Vue17 小时前
Maven antrun vs Jenkins 脚本组装 deb的优缺点、适用场景
java·jenkins·maven
vx-程序开发19 小时前
【计算机毕设】51300童装超市管理系统的设计与实现
java·vue.js·spring boot·源码·课程设计·毕设·大作业
ym hyd 11119 小时前
题库建立与考试系统源码 Java+SpringBoot+Vue3 前后分离
java·开发语言·vue.js·spring boot·毕设
萧瑟余晖21 小时前
Spring Boot Starter机制与自定义详解
spring boot
vx-程序开发21 小时前
【计算机毕设】52744基于微信小程序的民宿智能预订系统
java·spring boot·毕业设计·源码·课程设计·毕设·大作业
萧瑟余晖1 天前
Spring Boot 配置体系详解
spring boot
专业程序开发源1 天前
springboot古城景区管理系统88564-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
小蒜学长1 天前
基于微信小程序的遇见咖啡店点餐系统设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序·咖啡店点餐系统
小蒜学长1 天前
基于SSM+VUE的电影售票平台的设计与实现(代码+数据库+LW)
java·vue.js·spring boot·后端·ssm框架·电影售票平台