Maven工程打包本地Jar到项目中
使用Maven管理项目依赖的时候,项目中所用到的Jar
不一定在Maven的中央仓库都能找到,它仅在本地。为了把它打包到项目中。可以有2个方法
- 通过
maven
把这个Jar
install
到本地仓库,并且指定坐标id,在工程中。按照坐标引入。 - 把
Jar
复制到工程中,通过maven
的配置,在编译打包的时候,把它一起打包进去。(建议)
把Jar复制到工程中
在Maven工程根目录下创建 lib 目录,专门存放本地的第三方的依赖。工程结构类似于下
app
|-lib
|-src/main/java
|-src/main/resources
以 ojdbc6.jar 为例
在 pom.xml 中声明依赖
<dependency>
<groupId>ojdbc6</groupId>
<artifactId>ojdbc6</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath>
</dependency>
坐标信息,可以自定义。
scope
设置依赖为本地依赖 system
,systemPath
指定jar
的位置。
非 SpringBoot工程的配置
<resource>
<!-- jar所在的源目录 -->
<directory>${basedir}/lib</directory>
<!-- jar打包到项目的位置 -->
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
SpringBoot工程的配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 打包本地jar -->
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
War包的情况下,打包配置
通过配置 maven-war-plugin
插件打包
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/src/main/resources/lib/net/pusuo</directory>
<targetPath>WEB-INF/lib</targetPath>
<filtering>false</filtering>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>