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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值