SpringBoot项目引用自定义jar包的全流程处理方法

1.将自定义jar包导入项目

在SpringBoot项目中,maven仓库提供了绝大对数的jar包。但有的情况下,我们仍需要使用到自定义jar包来实现特定的功能。使用自定义jar包,首先需要将jar包引入SpringBoot项目中。引入的方式通常有两种:

  • 一种是将jar包安装到本地maven仓库中,IDEA终端命令行如下:

mvn install:install-file -Dfile=xxxxx.jar -DgroupId=xxx.xxx.xxx -DartifactId=xxxxx -Dversion=1.0.0 -Dpackaging=jar

(其中的-Dfile/-DgroupId/-DartifactId/-Dversion项根据pom文件内容填写)

安装之后可以在本地仓库中找到对应的jar包,然后将对应的依赖信息插入到工程的pom文件即可:

<dependency>
    <groupId>xxx.xxx.xxx</groupId>
    <artifactId>xxxxx</artifactId>
    <version>1.0.0</version>
</dependency>
  • 另一种可以在resourse文件目录下新建lib文件夹,将自定义jar包放入,然后将lib文件夹添加为本地仓库。具体操作为:在IDEA编译器中,选中lib文件,点击右键,选择 Add as Libraries。操作流程如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WaTJMJBq-1625800722161)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210708094303988.png)]

2. 再pom文件中进行相应的配置

将自定义的jar包引入项目后,需要对其进行实例化,初始化实体类,然后对实体类的方法进行操作。但在此之前,需要在配置文件中对其进行相应配置,才能正常引用,配置内容包括下面两个部分。

2.1 进行maven插件配置,使得项目能够获取到lib目录下的jar包信息

<plugins>
    <!--使用自定义jar包所需要的参数配置开始-->
		<plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <configuration>     			          <includeSystemScope>true</includeSystemScope>
           </configuration>
      </plugin>
      <!--使用自定义jar包所需要的参数配置结束-->
</plugins>

插件配置

在将自定义jar引入SpringBoot项目中后,首先需要在pom文件中增加以上内容配置,才能在控制层、servic层程序中正常实现对自定义jar包实体类的初始化和方法调用。

完成以上配置,可以确保在开发过程中正常使用自定义jar包进行程序开发,但再完成开发后,需要将程序前后端程序进行打包:通常打为jar包和war包,并进行部署,这里只以jar包的生成和部署为例。如果只进行以上配置,则在使用maven的package工具打包过程中,编译器会提示无法找到XXX.jar自定义jar包,无法完成程序打包操作。因此,还需要补充其他配置,告知打包程序,在打包项目文件过程中,需要将其包含的自定义jar包信息。

2.2 进行maven依赖配置,使得项目打包为jar后包含自定义jar包

<dependency>
    <groupId>com.example</groupId>
    <artifactId>danji</artifactId>
    <scope>system</scope>
    <version>0.0.1-SNAPSHOT</version>
    <systemPath>${project.basedir}/src/main/resources/lib/XXX1.jar</systemPath>
</dependency>

<dependency>
    <groupId>com.example</groupId>
    <artifactId>duoji</artifactId>
    <scope>system</scope>
    <version>0.0.1-SNAPSHOT</version>
    <systemPath>${project.basedir}/src/main/resources/lib/XXX2.jar</systemPath>
</dependency>

<dependency>
    <groupId>com.example</groupId>
    <artifactId>matlab</artifactId>
    <scope>system</scope>
    <version>0.0.1-SNAPSHOT</version>
    <systemPath>${project.basedir}/src/main/resources/lib/XXX3.jar</systemPath>
</dependency>

依赖配置

在进行配置前,需要对标签内容有所了解,主要是GroupIdArtifactId,这两个标签被统称为“坐标”,是为了保证项目唯一性而提出的,maven仓库中的项目必须根据这两个id去查找。GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org,公司名称是apache,ArtifactId是项目名。一个完整的坐标举例:如:com.example.myPrj

在配置自定义jar包依赖时,有几个注意事项,首先要保证每个自定义jar包的标签唯一,否则在打包编译时会报错,第二时要写到具体的jar文件所在路径完整信息,可以为相对路径和绝对路径,推荐项目相对路径写法。代表自定义jar包的作用范围,这里默认是system,一般不需要修改。版本可以自行根据情况进行填写。

完成以上配置后,就可以正常进行打包操作了。

3.前后端程序打包运行

但完成一个完整前后端项目的开发后,我们需要将其进行打包部署。

3.1前端程序的配置与打包

前端的打包相对简单,可使用编译器运行打包命令,也可打开cmd命令框,进入项目文件路径下运行打包命令:

npm run build

编译器检查程序无误后,开始执行打包程序,将前端源代码打包到dist目录下,生成static文件夹和index.html文件,static中的文件为原生js代码,如下图所示:

在这里插入图片描述

3.2后端程序的配置与打包

前端打包完成的文件要将其放到项目后端程序文件路径下,然后运行后端打包程序,实现将前后端程序完整打包为可执行的项目jar包。

首先,前端打包得到的文件存放到后端程序中,对文件路径有要求,并需要进行相应配置说明:

  1. application文件中配置静态资源文件路径,使得系统能够正常读取到后端程序static文件路径下的资源,配置内容为:

    spring.resources.static-locations=classpath:/static/
    
  2. 将前端dist文件路径下的static文件夹和index.html文件整体复制到后端程序的static文件架中:

在这里插入图片描述

  1. 选择maven生命周期lifecycle中package操作,双击启动打包程序。

    这里也可以在命令终端Terminal中手动输入打包命令进行打包:

    mvn clean package
    

    如果想跳过测试环节:

    mvn clean package -Dmaven.test.skip=true
    

    成功后,在项目target目录下,会生成完整的项目jar文件。

在这里插入图片描述

3.3jar包部署和运行

jar包的部署很简单,将jar包文件和程序相关其他文件放置到服务器中即可。运行jar包的具体操作如下:

  1. 通过cmd命令进入dos命令框。

  2. 进入到jar包所在文件路径。

  3. 输入dos命令,回车,命令框显示jar包正常启动,可以获取到端口信息。

    java -jar XXX.jar
    

    操作流程图片内容如下:

在这里插入图片描述

在这里插入图片描述

根据端口号,在浏览器中输入:http://localhost:8989/index.html

此外,如无需监控项目运行状态,则直接双击jar文件,依然可以使其进入运行状态。

即可正常访问项目:

在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值