Maven导出本地 jar 包

1 问题描述

在项目中,会引用到 maven 仓库以外的本地 jar 包,有时一个,有时多个。
通常我们会把这些本地的 jar 包,放在 resources/* 或 webapp/* 或其他的目录下。这时,
我们就要做2件事情:
   第1件:在编译时,可以引用这些本地 jar包;
   第2件:在打 war 包时,可以把这些引用得本地 jar 包,导出到 war 包中;
 方式有多种,这里只说一种。

2 解决方式

2.1 使用构建 war 包插件
说明:将项目目录 src/main/resources/pay 包内所有文件导出到 WEB-INF/lib 目录中,
且原目录中的文件名称需要满足以 .jar 结尾;
  <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-war-plugin</artifactId>
       <configuration>
           <webResources>
               <resource>
                   <directory>${project.basedir}/src/main/resources/pay</directory>
                   <targetPath>WEB-INF/lib</targetPath>
                   <filtering>false</filtering>
                   <includes>
                       <include>**/*.jar</include>
                   </includes>
               </resource>
           </webResources>
       </configuration>
   </plugin>
   
2.2  引用编译
在 pom.xml 中引用依赖,作用在与把本地 jar 以 maven库的形式加到项目中;
添加后可在 Dependencies 中看到;
<dependencies>   
        <dependency>
        <groupId>aliyun.alipay</groupId>
        <artifactId>alipay-sdk</artifactId>
        <version>java20161213173952</version>
        <type>jar</type>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/resources/pay/alipay-sdk-java20161213173952.jar</systemPath>
    </dependency>
</dependencies>

3 其他

在打包后会遇到一种 jar 包大小发生变化的情况,例如:原来的 jar 包大小为3M,打包后变成了6M,
只需要将 2.1 配置中的 filtering 参数 配置为 false 即可。

如果有不足或错误的地方,请留言。

猜你喜欢

转载自blog.csdn.net/zhanyufeng888/article/details/85288344