Spring Boot 教程:将自定义的 JAR 包引入到 Maven 项目中

简介: 在开发Spring Boot项目时,我们经常需要引入第三方库或自定义的JAR包来扩展功能。但这个时候,去maven仓库上,并没有发现有他们的jar可以引用。本文将介绍如何将自定义的JAR包引入到Maven项目中,以便在Spring Boot应用程序中使用它。

jar.jpg

在开发Spring Boot项目时,我们经常需要引入第三方库或自定义的JAR包来扩展功能。但这个时候,去maven仓库上,并没有发现有他们的jar可以引用。本文将介绍如何将自定义的JAR包引入到Maven项目中,以便在Spring Boot应用程序中使用它。

方式一:直接引入本地jar包

步揍一:将jar文件拷贝到项目resources/lib目录下

_20230710220425.png

步揍二:引入依赖

<dependency>
    <groupId>net.dongliu</groupId>
    <artifactId>apk-parser</artifactId>
    <version>2.6.10</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/src/main/resources/lib/apkinfo.jar</systemPath>
</dependency>

步揍三:将依赖打成外部jar包

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <archive>
            <!-- 添加index则不从mainfest中读取classpath,而是从Index.list中读取
            <index>true</index> -->
            <manifest>
                <!-- 项目启动类 -->
                <mainClass>cn.xj.Application</mainClass>
                <!-- 在jar包的MF文件中生成Class-Path属性 -->
                <addClasspath>true</addClasspath>
                <!--依赖前缀-->
                <classpathPrefix>lib/</classpathPrefix>
                <packageName>${project.artifactId}-${project.version}</packageName>
            </manifest>
            <manifestEntries>
                <Class-Path>lib/apkinfo.jar ./</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>

这里的最关键就是<manifestEntries></manifestEntries>这个属性了。这里的里的值,需要和上面依赖的名字一致。

到此我们就完成了本地jar包的引入

方式二:mvn 导入本地jar到本地 Maven 仓库

步揍一:mvn 导入本地jar到本地 Maven 仓库

_20230710224436.png

步揍二:引入依赖

<dependency>
    <groupId>net.dongliu</groupId>
    <artifactId>apk-parser</artifactId>
    <version>2.6.10</version>
</dependency>

到此我们就完成了mvn 导入本地jar到本地 Maven 仓库,需要注意的是我们每次清空仓库后都需要重新导入下依赖

附: mvn环境变量配置

未配置mvn环境变量
_20230710223516.png

添加系统变量:M2_HOME
_20230710223826.png

添加path:

_20230710224153.png

目录
相关文章
|
3月前
|
前端开发 安全 Java
Spring Boot 便利店销售系统项目分包设计解析
本文深入解析了基于Spring Boot的便利店销售系统分包设计,通过清晰的分层架构(表现层、业务逻辑层、数据访问层等)和模块化设计,提升了代码的可维护性、复用性和扩展性。具体分包结构包括`controller`、`service`、`repository`、`entity`、`dto`、`config`和`util`等模块,职责分明,便于团队协作与功能迭代。该设计为复杂企业级应用开发提供了实践参考。
136 0
|
4月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
66 0
|
4月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
179 0
|
3月前
|
SQL 前端开发 Java
深入理解 Spring Boot 项目中的分页与排序功能
本文深入讲解了在Spring Boot项目中实现分页与排序功能的完整流程。通过实际案例,从Service层接口设计到Mapper层SQL动态生成,再到Controller层参数传递及前端页面交互,逐一剖析每个环节的核心逻辑与实现细节。重点包括分页计算、排序参数校验、动态SQL处理以及前后端联动,确保数据展示高效且安全。适合希望掌握分页排序实现原理的开发者参考学习。
147 4
|
3月前
|
Java Spring 容器
两种Spring Boot 项目启动自动执行方法的实现方式
在Spring Boot项目启动后执行特定代码的实际应用场景中,可通过实现`ApplicationRunner`或`CommandLineRunner`接口完成初始化操作,如系统常量或配置加载。两者均支持通过`@Order`注解控制执行顺序,值越小优先级越高。区别在于参数接收方式:`CommandLineRunner`使用字符串数组,而`ApplicationRunner`采用`ApplicationArguments`对象。注意,`@Order`仅影响Bean执行顺序,不影响加载顺序。
133 2
|
3月前
|
安全 前端开发 Java
Spring Boot 项目中触发 Circular View Path 错误的原理与解决方案
在Spring Boot开发中,**Circular View Path**错误常因视图解析与Controller路径重名引发。当视图名称(如`login`)与请求路径相同,Spring MVC无法区分,导致无限循环调用。解决方法包括:1) 明确指定视图路径,避免重名;2) 将视图文件移至子目录;3) 确保Spring Security配置与Controller路径一致。通过合理设定视图和路径,可有效避免该问题,确保系统稳定运行。
190 0
|
3月前
|
人工智能 缓存 自然语言处理
保姆级Spring AI 注解式开发教程,你肯定想不到还能这么玩!
这是一份详尽的 Spring AI 注解式开发教程,涵盖从环境配置到高级功能的全流程。Spring AI 是 Spring 框架中的一个模块,支持 NLP、CV 等 AI 任务。通过注解(如自定义 `@AiPrompt`)与 AOP 切面技术,简化了 AI 服务集成,实现业务逻辑与 AI 基础设施解耦。教程包含创建项目、配置文件、流式响应处理、缓存优化及多任务并行执行等内容,助你快速构建高效、可维护的 AI 应用。
|
4月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——拦截自定义异常
本文介绍了在实际项目中如何拦截自定义异常。首先,通过定义异常信息枚举类 `BusinessMsgEnum`,统一管理业务异常的代码和消息。接着,创建自定义业务异常类 `BusinessErrorException`,并在其构造方法中传入枚举类以实现异常信息的封装。最后,利用 `GlobalExceptionHandler` 拦截并处理自定义异常,返回标准的 JSON 响应格式。文章还提供了示例代码和测试方法,展示了全局异常处理在 Spring Boot 项目中的应用价值。
86 0
|
4月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
111 0

热门文章

最新文章

推荐镜像

更多