前言:由於專案需求,簡訊驗證碼的介面需要換成阿里大於的,但是尷尬的發現阿里大於的jar包沒有maven版本的,於是便開始了一上午的操蛋引包之路。按照套路來說,自然應該是百度一波,但是百度了好久,找了好多方案之後發現,沒一個有用的,而且文章的抄襲、拷貝十分嚴重,試了N種方案,都是錯的,都沒有將外部jar包打包到BOOK-INF資料夾下。最終,在第N次嘗試之後,終於在打的jar包裡將外部的jar包匯入進來。特此記錄下,防止再犯!!!
首先在新建libs資料夾(根目錄或者resource目錄下都可以),將需要引入的jar放進去
然後再pom中加入如下配置,告訴maven匯入本地jar
<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包的位置之外,其他的配置都可以隨便寫
劃重點!!!敲黑板!!!下面的一步配置也是最重要的一步,網上很多的教程缺了這樣一步之後就會導致雖然本地可以執行,但是隻要使用maven打包就不行,因為maven沒有將本地的jar也打到生成的包中
在pom中給spring boot的打包外掛設定一下includeSystemScope引數即可
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build> 複製程式碼