• SpringBoot项目如何引入外部jar及将外部jar打包到项目发布jar包


    1、创建一个SpringBoot项目

    在这里插入图片描述
    下载项目之后将项目导入IDEA

    2、如何添加外部jar包

    准备一个外部的jar包, 我这里使用的是guava-31.1-jre.jar作为演示
    下载地址:https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar

    在项目根路径下创建一个文件夹libs,将guava-31.1-jre.jar放到libs下。
    在这里插入图片描述
    在pom.xml添加外部jar依赖:

    		<dependency>
    			<groupId>com.google.guavagroupId>
    			<artifactId>guavaartifactId>
    			<version>31.1-jreversion>
    			
    			<scope>systemscope>
    			<systemPath>${project.basedir}/libs/guava-31.1-jre.jarsystemPath>
    		dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    通过以上步骤, 外部的这个guava-31.1-jre.jar文件就被成功引入到当前项目中了,测试一下
    新建一个Test测试类文件
    在这里插入图片描述
    在这里插入图片描述
    测试通过, 外部jar包成功集成到项目中

    3、如何将外部jar包打包到当前项目jar包中

    如果我们不进行配置,打包的时候是不会将外部的jar打包到jar/war中的

    Spring Boot的项目,一般都会使用到打包插件,那么只需要添加一个配置即可

    修改pom.xml文件, 修改内容如下:

    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.bootgroupId>
    				<artifactId>spring-boot-maven-pluginartifactId>
    				<configuration>
    					<excludes>
    						<exclude>
    							<groupId>org.projectlombokgroupId>
    							<artifactId>lombokartifactId>
    						exclude>
    					excludes>
    					
    					<includeSystemScope>trueincludeSystemScope>
    				configuration>
    			plugin>
    		plugins>
    	build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    includeSystemScope为true这一个参数配置最为重要

    如果有些配置文件,并非Spring Boot的默认路径,那么可能就需要借助resouce配置(resources节点和plugins节点同级):

    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.bootgroupId>
    				<artifactId>spring-boot-maven-pluginartifactId>
    				<configuration>
    					<excludes>
    						<exclude>
    							<groupId>org.projectlombokgroupId>
    							<artifactId>lombokartifactId>
    						exclude>
    					excludes>
    					
    					<includeSystemScope>trueincludeSystemScope>
    				configuration>
    			plugin>
    		plugins>
    		
    		<resources>
    			<resource>
    				
    				<directory>libsdirectory>
    				
    				<targetPath>/BOOT-INF/lib/targetPath>
    				
    				<includes>
    					<include>**/*.jarinclude>
    				includes>
    			resource>
    		resources>
    	build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    以上配置完成, 执行打包进行测试, 看看打包完成之后的项目包中是否包含外部jar
    在这里插入图片描述

    4、总结

    • 引入jar包, 最关键的以下配置
    <dependency>
    	<groupId>com.google.guavagroupId>
    	<artifactId>guavaartifactId>
    	<version>31.1-jreversion>
    	
    	<scope>systemscope>
    	<systemPath>${project.basedir}/libs/guava-31.1-jre.jarsystemPath>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 发布jar包, 最关键的以下配置,使用spring-boot-maven-plugin插件及以下配置
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.bootgroupId>
    				<artifactId>spring-boot-maven-pluginartifactId>
    				<configuration>
    					<excludes>
    						<exclude>
    							<groupId>org.projectlombokgroupId>
    							<artifactId>lombokartifactId>
    						exclude>
    					excludes>
    					
    					<includeSystemScope>trueincludeSystemScope>
    				configuration>
    			plugin>
    		plugins>
    		
    		<resources>
    			<resource>
    				
    				<directory>libsdirectory>
    				
    				<targetPath>/BOOT-INF/lib/targetPath>
    				
    				<includes>
    					<include>**/*.jarinclude>
    				includes>
    			resource>
    		resources>
    	build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
  • 相关阅读:
    Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的
    Git笔记
    网络调试工具编程实现
    最小二乘法预测波士顿房价
    使用Gson将Object转String出现\u003d 的原因
    第五章:Java中的方法和方法重载
    如何从零开始解读什么叫产品经理
    XML配置文件(DTD详细讲解)
    毫无基础的人如何入门 Python ?
    C++:stack 定义,用法,作用,注意点
  • 原文地址:https://blog.csdn.net/qq_41865652/article/details/128093540