1. 程式人生 > 其它 >Maven專案打包時新增本地jar包

Maven專案打包時新增本地jar包

在開發專案時,有些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