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也打到生成的包中maven

在pom中給spring boot的打包插件設置一下includeSystemScope參數便可spring-boot

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>	複製代碼
相關文章
相關標籤/搜索