spring boot引入外部jar的坑

前言:因为项目需求,短信验证码的接口须要换成阿里大于的,可是尴尬的发现阿里大于的jar包没有maven版本的,因而便开始了一上午的操蛋引包之路。按照套路来讲,天然应该是百度一波,可是百度了很久,找了好多方案以后发现,没一个有用的,并且文章的抄袭、拷贝十分严重,试了N种方案,都是错的,都没有将外部jar包打包到BOOK-INF文件夹下。最终,在第N次尝试以后,终于在打的jar包里将外部的jar包导入进来。特此记录下,防止再犯!!!

首先在新建libs文件夹(根目录或者resource目录下均可以),将须要引入的jar放进去 java

libs文件夹

而后再pom中加入以下配置,告诉maven导入本地jarspring

<dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>3.2.2</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/aliyun-java-sdk-core-3.3.1.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
        <version>1.0.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/aliyun-java-sdk-dysmsapi-1.0.0.jar</systemPath>
    </dependency>
复制代码

其中除了systemPath配置告诉maven引入的本地jar包的位置以外,其余的配置均可以随便写api

划重点!!!敲黑板!!!下面的一步配置也是最重要的一步,网上不少的教程缺了这样一步以后就会致使虽然本地能够运行,可是只要使用maven打包就不行,由于maven没有将本地的jar也打到生成的包中markdown

在pom中给spring boot的打包插件设置一下includeSystemScope参数便可maven

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>	复制代码
相关文章
相关标签/搜索