章
目
录
Maven项目如何引用外部第三方jar包呢?很多第三方jar包可能是企业内部或者其他企业开发的一些sdk的jar,自己项目想要使用,该如何将该jar导入到maven项目的依赖中来呢?
接下来我们通过一个实际案例来看下。
比如有个同事的项目需要引用一个名为aspose-words-15.8.0-jdk16.jar
的jar包,这个jar在maven仓库中是没有的,而且该jar也不是基于maven开发的,就是一个普普通通的常规sdk,我们只需以下几步操作就可以将其引入我们项目中,并支持可以直接package打包。
1、安装该jar到本地仓库
我们需要将该jar安装的我们的本地maven仓库中,自己去定义它的groupId和artifactId,如果有一些jar是基于maven开发的,可以直接解压在一个xml文件中可以看到它的坐标,那就更方便了,可以直接使用,我们这自己自定义就行。
首先将该jar放在一个目录下,比如我这里放在了D:\aspose-words-15.8.0-jdk16.jar
下,接着打开cmd
命令行,执行如下maven指令:
mvn install:install-file -Dfile=D:\aspose-words-15.8.0-jdk16.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=15.8.0-jdk16 -Dpackaging=jar
可以看出,我们将D盘下的该jar安装到本地仓库中的groupId
为com.aspose,artifactId
为aspose-words的坐标下,版本号为15.8.0-jdk16
,这样我们在本地仓库就有了该jar及其坐标。
2、导入本地仓库jar依赖
根据以上的坐标,在pom.xml中直接引入该jar的坐标:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>15.8.0-jdk16</version>
</dependency>
3、说明
这样就可以轻松引用外部第三方jar包到Maven项目中了,还是非常简单的,如果公司内部有自己的maven仓库,那就可以直接上传jar到公司的私有仓库,具体可以参考《Maven远程仓库Nexus私服如何上传jar依赖》这篇文章。
另外有一点注意的是,看到网上还有一种方法是通过放入lib目录或者build path,然后再pom打包中配置scope为system的方式,虽然本地用没问题,但是将maven项目打包发布生产会报找不到该jar包中的类,也就是没测试成功,不知道是不是有什么地方配置的不对。
4.总结
总之,用Java潘老师以上介绍的访问是肯定没有问题的,能够轻松引用外部第三方jar包,不需要额外的配置,和正常从maven远程仓库中导入依赖的效果一样,并且打包和普通情况下一样,没有任何问题!