在開發項目時,有些 jar 包是非 maven 倉庫提供的第三方 jar 包,比如七牛的 sdk,阿里的 sdk 等等。在項目開發時,有以下兩個方案來引入、打包。
以alipay-sdk-java-3.0.0.jar這個 jar 包為例
方案一 安裝本地jar包到本地倉庫
這個方案有個缺點,就是其他開發人員也必須在自己的電腦上執行步驟1的安裝命令,安裝 jar 包到自己本地倉庫。
1. 本地安裝
在alipay-sdk-java-3.0.0.jar文件目錄下執行命令,安裝此 jar 包到本地 maven 倉庫中
mvn install:install-file -Dfile=alipay-sdk-java-3.0.0.jar -DgroupId=com.aliyun -DartifactId=alipay-sdk-java -Dversion=3.0.0 -Dpackaging=jar
2.普通方式導入jar包
在本地安裝第三方 jar 后在項目 pom 文件中就可以像添加 maven 的 jar 包依賴一樣
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.0.0</version>
</dependency>
方案二 在項目 pom 中配置
1.在項目根目錄創建libs文件夾將使用的jar包放入其中
2.jar包以scope為system的方式導入pom文件
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alipay-sdk-java-3.0.0</artifactId>
<version>3.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/alipay-sdk-java-3.0.0.jar</systemPath>
</dependency>
3.打包
3.1 打成 war包 添加maven-war-plugin插件配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/libs</directory>
<targetPath>WEB-INF/lib</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
3.2 打成 jar包
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
以上兩個方案選擇一個,就可以愉快地開發項目了。
后面使用 maven 命令打包時也可以將alipay-sdk-java-3.0.0.jar打包到最終的包中啦。
-- 跳過測試
mvn clean package -Dmaven.test.skip=true