今天记录一下引入本地jar包另一种方式,最近有一个需求,对接华为的云数据库GaussDB,我从华为的官网上拿到了驱动,但因为最近公司服务器调整,maven私有仓库暂时没法使用,我也就没传上去,准备直接放到lib目录然后从pom.xml文件中引入,但是就遇到坑了。
我在模块中引入了本地lib目录下的驱动包,如下:
<dependency>
<groupId>com.huawei.gaussdb</groupId>
<artifactId>gaussdbjdbc</artifactId>
<version>5.0.0-htrunk4.csi.gaussdb_kernel.opengaussjdbc.r7</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/gaussdbjdbc.jar</systemPath>
</dependency>
引入是引入了,然后打包后找不到这个包,我才想起光是引入还不行,我还得在maven打包插件中配置,去指定引入的本地包进行打包,反正就是很麻烦。
下面是我推荐的方法,直接把jar包install一下,这样在我电脑上的本地maven仓库中就能找到它了。后续就能像普通依赖那样直接用就行了,因为它可以在本地仓库中找到。另外要注意,执行install命令时,一定要在jar包所在的目录执行,不然可能找不到jar包。
mvn install:install-file -Dfile=gaussdbjdbc.jar -DgroupId=com.huawei.gaussdb -DartifactId=gaussdbjdbc -Dversion=5.0.0-htrunk4.csi.gaussdb_kernel.opengaussjdbc.r7 -Dpackaging=jar
执行成功会如下图出现打印日志:

后续依赖引入就可以改成普通依赖引入了,如下:
<dependency>
<groupId>com.huawei.gaussdb</groupId>
<artifactId>gaussdbjdbc</artifactId>
<version>5.0.0-htrunk4.csi.gaussdb_kernel.opengaussjdbc.r7</version>
</dependency>