1. 程式人生 > 實用技巧 >Springboot中如何引入本地jar包,並通過maven把專案成功打包成jar包部署

Springboot中如何引入本地jar包,並通過maven把專案成功打包成jar包部署

引入阿里雲的簡訊驗證碼,阿里雲的core sdk是maven就有的,但是簡訊相關的jar包卻不是放在maven的,所以得引入本地的下載回來的jar包。本地開發直接引入,idea是可以直接跑呼叫是沒問題的。但是打成jar包部署的時候,專案能跑,但是到關鍵的呼叫簡訊sdk的時候就爆ClassNofFoundException錯誤。看了很多網上的帖子,很多都說用plugin 中resource來弄,對我的專案一點鳥用也沒有。最後還是在stackoverflow上找到了答案,所以做了以下總結。


解決

如何引入本地jar包

1.在resources下面新建lib資料夾,並把jar包檔案放到這個目錄下

2.在pom檔案定義幾個依賴指向剛才引入的檔案

<dependency>
            <groupId>com.aliyun.alicom</groupId>
            <artifactId>alicom-mns-receive-sdk</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/alicom-mns-receive-sdk-1.0.0.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>com.aliyun.mns</groupId>
            <artifactId>aliyun-sdk-mns</artifactId>
            <version>1.1.8</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/aliyun-sdk-mns-1.1.8.jar</systemPath>
        </dependency>
</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>
分類:springboot