SpringBoot项目引用离线的包打包正确姿势

简介: SpringBoot项目引用离线的包打包正确姿势
    • 案例:如下是某一个项目的项目架构image.gif
    • 使用idea的maven Helper打包编译的话,压根就没什么难度一键即可,但是如果使用的CLI(命令行)打包编译就不会这么智能了
    • 使用CLI编译步骤如下:

          在pom.xml中添加引用包的依赖位置。

      <dependency>
                  <groupId>icu.smile</groupId>
                  <artifactId>MagicMQ</artifactId>
                  <version>1.0-SNAPSHOT</version>
                  <scope>system</scope>
                  <systemPath>${project.basedir}/src/main/resources/jar/MagicMQ-1.0-SNAPSHOT.jar</systemPath>
      </dependency>
      • image.gif注意⚠️ :这里因为是对于项目的来说是系统级别的调用所以scope为system,系统路径为系统全路径${project.basedir}标识取整个项目的绝对路径。
      • 加入构建插件
      <build>
              <plugins>
                  <plugin>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-maven-plugin</artifactId>
                      <configuration>
                                          <includeSystemScope>true</includeSystemScope>
                          <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
                      </configuration>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>repackage</goal>
                              </goals>
                          </execution>
                      </executions>
                      </plugin>
                      <plugin>
                      <groupId>org.apache.maven.plugins</groupId>
                      <artifactId>maven-compiler-plugin</artifactId>
                      <configuration>
                          <source>8</source>
                          <target>8</target>
                      </configuration>
                      </plugin>
              </plugins>
          </build>
      • 注意⚠️ :主要是加入了maven-plugin的includeSystemScope标签支持引入系统域,complier-plugin插件主要是解决编译的时候source 不能低于1.5这个问题。
      • 回到包的pom.xml所在路径下
      mvn clean install -Dmaven.test.skip=true

      image.gifimage.gif

      • 打包编译
      • 成功标识,可以直接运行这个jar包
        image.gif
          相关文章
          |
          1月前
          |
          Java 容器
          如何在SpringBoot项目中使用过滤器和拦截器
          过滤器和拦截器是日常开发中常用技术,用于对特定请求进行增强处理,如插入自定义代码以实现特定功能。过滤器在请求到达 `servlet` 前执行,而拦截器在请求到达 `servlet` 后执行。`SpringBoot` 中的拦截器依赖于 `SpringBoot` 容器,过滤器则由 `servlet` 提供。通过实现 `Filter` 接口并重写 `doFilter()` 方法可实现过滤器;通过实现 `HandlerInterceptor` 接口并重写相应方法可实现拦截器。两者的主要区别在于执行时机的不同,需根据具体场景选择使用。
          如何在SpringBoot项目中使用过滤器和拦截器
          |
          11天前
          |
          前端开发 JavaScript Java
          SpringBoot项目部署打包好的React、Vue项目刷新报错404
          本文讨论了在SpringBoot项目中部署React或Vue打包好的前端项目时,刷新页面导致404错误的问题,并提供了两种解决方案:一是在SpringBoot启动类中配置错误页面重定向到index.html,二是将前端路由改为hash模式以避免刷新问题。
          54 1
          |
          28天前
          |
          Java 关系型数据库 MySQL
          创建一个SpringBoot项目,实现简单的CRUD功能和分页查询
          【9月更文挑战第6天】该内容介绍如何使用 Spring Boot 实现具备 CRUD 功能及分页查询的项目。首先通过 Spring Initializr 创建项目并选择所需依赖;其次配置数据库连接,并创建实体类与数据访问层;接着构建服务层处理业务逻辑;最后创建控制器处理 HTTP 请求。分页查询可通过添加 URL 参数实现。
          |
          10天前
          |
          JavaScript Java 关系型数据库
          毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
          本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
          毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
          |
          12天前
          |
          Java 关系型数据库 MySQL
          毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
          本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
          毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
          |
          3天前
          |
          Java 关系型数据库 数据库连接
          SpringBoot项目使用yml文件链接数据库异常
          【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
          22 10
          |
          2天前
          |
          Java 关系型数据库 MySQL
          SpringBoot项目使用yml文件链接数据库异常
          【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
          |
          7天前
          |
          JavaScript 前端开发 Java
          SpringBoot项目的html页面使用axios进行get post请求
          SpringBoot项目的html页面使用axios进行get post请求
          23 6
          |
          8天前
          |
          消息中间件 Java Kafka
          springboot项目启动报错-案例情景介绍
          springboot项目启动报错-案例情景介绍
          17 2
          |
          2月前
          |
          XML 前端开发 Java
          还不会SpringBoot项目模块分层?来这手把手教你
          本文详细介绍了如何为SpringBoot项目创建模块并进行合理的分层设计。通过逐步演示,从创建项目到构建各功能模块,再到具体代码实现,手把手教你实现整洁的代码分层。主要内容包括:创建依赖层、主启动层、模块层及其子模块(如共通层、控制器层、数据持久层等),并通过实例演示了从前端请求到后台服务调用的实际流程。适合SpringBoot初学者及有一定经验但需优化项目结构的开发者参考。
          96 2
          还不会SpringBoot项目模块分层?来这手把手教你
          下一篇
          无影云桌面