Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署

问题描述
最近尝试引入淘宝SDK,但是打成jar包部署的时候,项目报错,无法运行起来。看了很多种方案,最后做个总结。

解决

如何引入本地jar包
1.在resources下面新建lib文件夹,并把jar包文件放到这个目录下 


 Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署

2.在pom文件定义几个依赖指向刚才引入的文件

<!-- 淘宝SDK -->
    <dependency>
         <groupId>taobao-sdk-java</groupId>
         <artifactId>taobao-sdk-java</artifactId>
         <version>1.0</version>
         <scope>system</scope>
         <systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-auto_1468685308771-20190520.jar</systemPath>
    </dependency>

    <dependency>
        <groupId>taobao-sdk-source-java</groupId>
        <artifactId>taobao-sdk-source-java</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-auto_1468685308771-20190520-source.jar</systemPath>
    </dependency>


注意:重点是systemPath这个路径必须得是你jar的路径。其他的按照套路填就行,要求不是太严格。${project.basedir}只是一个系统自己的常量,不用管它

如何把项目打成jar,同时把本地jar包也引入进去
直接在maven的pom里给springboot的打包插件引入一下参数就行

<includeSystemScope>true</includeSystemScope>

总体是这样的

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
    </build>

最后再通过maven clean删除之前的jar包,通过maven package打包。