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>
依赖配置
在进行配置前,需要对标签内容有所了解,主要是GroupId和ArtifactId,这两个标签被统称为“坐标”,是为了保证项目唯一性而提出的,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包。
首先,前端打包得到的文件存放到后端程序中,对文件路径有要求,并需要进行相应配置说明:
-
application文件中配置静态资源文件路径,使得系统能够正常读取到后端程序static文件路径下的资源,配置内容为:
spring.resources.static-locations=classpath:/static/
-
将前端dist文件路径下的static文件夹和index.html文件整体复制到后端程序的static文件架中:
-
选择maven生命周期lifecycle中package操作,双击启动打包程序。
这里也可以在命令终端Terminal中手动输入打包命令进行打包:
mvn clean package
如果想跳过测试环节:
mvn clean package -Dmaven.test.skip=true
成功后,在项目target目录下,会生成完整的项目jar文件。
3.3jar包部署和运行
jar包的部署很简单,将jar包文件和程序相关其他文件放置到服务器中即可。运行jar包的具体操作如下:
-
通过cmd命令进入dos命令框。
-
进入到jar包所在文件路径。
-
输入dos命令,回车,命令框显示jar包正常启动,可以获取到端口信息。
java -jar XXX.jar
操作流程图片内容如下:
根据端口号,在浏览器中输入:http://localhost:8989/index.html
此外,如无需监控项目运行状态,则直接双击jar文件,依然可以使其进入运行状态。
即可正常访问项目: