导入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>