SpringBoot把本地的第三方jar文件打包进jar包
SpringBoot把本地的第三方jar文件打包进jar包
把第三方jar文件打包进jar包:
在maven center仓库有的jar包和其他仓库的jar可直接<dependence>导入,但是自己本地的jar如果不上传仓库,则需要如下方式导入:
一是加入dependency,二是加入spring-boot-maven-plugin:
。。。
<!– spring –>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency><!– 本地的jar文件,要定义在这,注意scope为system,systemPath为本地目录下的jar文件,groupId和artifactid随便写 –>
<dependency>
<groupId>xxx_grp</groupId>
<artifactId>xxx_id</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${pom.basedir}/libs/xxx-1.1.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!– 如果有parent的pom.xml,必须在最顶层parent的pom.xml里面也配置 –>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
</project>
查看,使用mvn package命令打包之后,在target目录下:
XXXX-1.0.0.jar.original :不含BOOT-INF目录的输出文件。
XXXX-1.0.0.jar :含有BOOT-INF目录,里面包含本地jar文件,从这里面就可以看到本地的第三包也在(jar -tvf xxxx-1.0.0.jar)。