前言
在maven项目中,由于种种原因如在maven中心仓库不存在所需的jar包、公司内部的jar包等,在这种情况下咱们需要额外引入这些第三方的jar包,那么如何引入呢?又如何在项目打包的时候将第三方的包打进去呢?下面有两种方法。
方法
- 方法一:将jar包引入本地maven仓库
将第三方jar包放入公司(若是公司的maven仓库,需在maven的setting.xml中配置相应参数)或个人的本地maven仓库中,然后在pom.xml文件中引用
<dependency>
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<version>1.0</version>
</dependency>
- 方法二:将jar包直接放到项目中
在resources中新建lib包,然后将jar包放入其中,同时在pom.xml文件中做如下配置,
<!--dependencies部分-->
<dependencies>
<!--按如下方式引入每一个第三方的jar包,其中${project.basedir}指当前项目的根目录-->
<dependency>
<groupId>com.test</groupId>
<artifactId>test</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${project.basedir}/src/main/resources/lib/test.jar</systemPath>
</dependency>
</dependencies>
<!--如果是打jar包,则需在build的plugins中添加如下配置-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--值为true是指打包时包含scope为system的第三方Jar包-->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<!--如果是打war包,则需在build的plugins中设置maven-war-plugin插件,否则外部依赖无法打进war包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>