有的时候我们需要的第三方jar可能在Maven中央仓库中不存在,这样的第三方jar通常被称为本地jar,使用和打包都需要我们手动引入。
简单举例这里有一个yanggb-jar包,具体引入步骤如下:
1.将jar包文件放入项目文件夹中。通常的做法是创建一个lib文件目录,将本地jar放入其中。
2.在pom文件中添加dependency坐标,注意这里的本地jar被Maven称为【系统jar】。
<dependency> <groupId>com.yanggb</groupId> <artifactId>yanggb-jar</artifactId> <version>1.0.6</version> <scope>system</scope> <systemPath>${project.basedir}/lib/yanggb-jar-1.0.6.jar</systemPath> </dependency>
3.因为Spring Boot在打jar包的时候会调用【spring-boot-maven-plugin】插件并执行【repackage】指令把tomcat、resoucre和lib等合并成一个新的jar,如果想要将本地jar包(系统jar)打进最终生成的jar中,必须要配置【includeSystemScope】属性,这样才能将lib中的内容放到BOOT-INFlib目录中,不然在默认不显式配置的情况下scope为system的本地jar不会被打包进最终jar中。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> <executions> <execution> <goals> <goal>build-info</goal> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
"我唱得不够动人你别皱眉。"