前言:

        springboot 工程的依赖都是通过 maven 管理,偶尔会有一些不在 maven 仓库的三方 sdk 需要引入工程。

一、准备三方 sdk

        该 sdk 是某公司旗下一明星产品的 sdk,没有 maven 仓库,没法直接在 pom 中声明。在 resources 目录下创建一个 lib 目录,把所有 jar 包都拷到该目录。

 二、在 pom 中引入三方sdk

        需要引入的 jar 有5个,pom 配置如下,其中标签 groupId、artifactId、version 是可以随意定义的,scope 声明打包时包从哪来(system 代表从本地文件系统抓取,需要配合标签 systemPath 一起使用),systemPath 标签声明包的位置。

        <dependency>
            <groupId>weixin</groupId>
            <artifactId>weworklocalsdk</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/WeWorkLocalSdk.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>weixin</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/gson-2.8.5.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>weixin</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.11</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/commons-codec-1.11.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>weixin</groupId>
            <artifactId>bcprov-jdk15on-161</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/bcprov-jdk15on-161.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>weixin</groupId>
            <artifactId>bcpkix-jdk15on-161</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/bcpkix-jdk15on-161.jar</systemPath>
        </dependency>

上述pom配置以后就可以在本地调试的时候使用三方 sdk。

三、配置打包时加入三方 sdk

        上述配置只能保证本地调试可用,但是打包时不会把三方依赖一块打进去,会导致三方类找不到,所以必须在 pom 加入以下配置:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--  includeSystemScope 值要为true -->
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
    </build>
参考文档:

Spring Boot 引入第三方jar包

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐