导入maven仓库中没有的jar包

  在许多情况下,我们使用到了私有的jar包,在maven仓库中并没有记录,直接使用pom导入是行不通的,因此需要进行一些操作导入这些jar包。

1,jar包放在项目中,使用IDE的项目管理导入(不推荐)

以导入达梦数据库jdbc的jar包为例,新建一个lib目录,把驱动包放进来,在IDE项目设置中加入项目库。

这种方法有缺陷,就是使用maven打包时,不会把这个jar包和其它的jar包打到一起,当然,可以设置资源拷贝或打包后手动添加,也很麻烦。

二、jar放在本地maven仓库目录中,使用pom坐标导入(推荐)

针对maven项目,我们把不在maven远程仓库目录中的jar包,安装到本地maven仓库

mvn install:install-file -DgroupId=dm.jdbc -DartifactId=DmJdbcDriver -Dversion=1.8 -Dpackaging=jar -Dfile=D:/DmJdbcDriver18.jar

使用IDE自带的maven执行环境,执行此命令

 

 导入到本地maven仓库成功

 

在项目pom中添加坐标

三、jar包放在项目中,使用pom坐标导入(推荐)

结合上述两种办法,把jar包放到本地,并使用maven的scope本地导入方式

<!--DM JDBC驱动 -->
<dependency>
    <groupId>dm.jdbc</groupId>
    <artifactId>DmJdbcDriver</artifactId>
    <version>18</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/src/main/resources/lib/DmJdbcDriver18.jar</systemPath>
</dependency>

 这种方法可以利用maven管理jar包引用,同时可以让私有jar跟着项目移动。到要注意,当scope为system的时候打包不会自动打包进去的,所以要添加一个参数才能打包进去的

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <includeSystemScope>true</includeSystemScope>
  </configuration>
</plugin>
原文地址:https://www.cnblogs.com/guanghe/p/14813279.html