最近单位新来了一位程序员。有次,他问我在做SpringBoot如何引入外部依赖jar包,我之前用IntelliJ工具做微服务做项目时也遇到过类似问题,在这里简单总结下。

在开发时,我们需要引入第三方jar, 一般来说,我们只要在maven添加依赖就好了,但有些jar包并没有maven版本,对于这种情况,我们不得不手动引入。

下面我们来举个例子,看看在SpringBoot如何引入外部依赖jar包的步骤是怎样的。

步骤:

1.在项目建立一个与src目录平级的lib,把要引入的jar架包放进去

2.在pom文件里添加依赖

如图:

e5f0a2ff4da203dd0cc4bcdde015206b.png

配置

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.0.6.RELEASE</version>
                <!--添加configuration -->
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
        <!--打包时也将mapper文件打包进去-->
        <resources>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>
    </build>
    <dependencies>
        <!-- 添加impala依赖 -->
        <dependency>
            <groupId>impala</groupId>
            <artifactId>impala-jdbc41</artifactId>
            <scope>system</scope>
            <version>1.0</version>
            <systemPath>${project.basedir}/lib/ImpalaJDBC41-2.6.3.jar</systemPath>
        </dependency>
    </dependencies>

打包好的jar

d520df46dd8b8f1073e00c9343e8d615.png

需要注意的是这段配置不要漏了,要是漏了,在本地环境上程序运行是没有问题的,可打包发布到测试环境的时候可能就会出现各种各样的问题。所以记得要加上,我们应该把时间花在业务处理方面,没必要把时间花在调试类似这样的问题。

<resources>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>

由于笔者知识及水平有限,文中错漏之处在所难免,欢迎交流。

-END-

往期推荐

面试官:mysql自增长id用完了,怎么办?

生成服务器服务变慢了,如何排查思路?

大数据心得:impala中的刷新元数据和刷新表

adb24b317fa5f46d816aaebd6aff2b55.png

微信公众号:爱开发

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐