为啥maven编译时不需要jdbc的驱动包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥maven编译时不需要jdbc的驱动包相关的知识,希望对你有一定的参考价值。

因为jdbc在加载的时候,使用了类的反射,如class.forName("com.mysql.jdbc.Driver"),这样,在编译时,并不去加载驱动,而是在运行期间以反射的方式来检查JDBC驱动的主类com.mysql.jdbc.Driver是否存在。 因此jdbc的驱动在pom文件中,常用的scope为runtime,表示在编译期间不需要参与,测试和运行期间再参与。 参考技术A 需要本地安装sqljdbc的jar包,然后再在pom里面引入
Step 1
在微软官网下载sqljdbc的jar包
本次下载了4.0版本
Step 2
通过maven命令将jar包安装到本地。
在有sqljdbc4.jar包的文件夹下,通过shift+右键的方式--》此处打开命令窗口,然后执行以下maven命令
mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0  
命令解释:mvn install:install-file -Dfile="jar包的绝对路径" -Dpackaging="文件打包方式" -DgroupId=groupid名 -DartifactId=artifactId名 -Dversion=jar版本
Step 3
在pom.xml中引入本地jar包
<dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency>

maven添加sqlserver的jdbc驱动包

http://search.maven.org/中没有sqlserver的jdbc驱动,所以需要本地安装sqljdbc的jar包,然后再在pom里面引入

Step 1

  在微软官网下载sqljdbc的jar包:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774

  本次下载了4.0版本

    空间下载连接分享:https://yunpan.cn/cv3TjJqDZM7zu  访问密码 d6bb

Step 2

  通过maven命令将jar包安装到本地。

  在有sqljdbc4.jar包的文件夹下,通过shift+右键的方式--》此处打开命令窗口,然后执行以下maven命令

    mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0  

  命令解释:mvn install:install-file -Dfile="jar包的绝对路径" -Dpackaging="文件打包方式" -DgroupId=groupid名 -DartifactId=artifactId名 -Dversion=jar版本 

Step 3

  在pom.xml中引入本地jar包

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>4.0</version>
</dependency>

以上是关于为啥maven编译时不需要jdbc的驱动包的主要内容,如果未能解决你的问题,请参考以下文章

maven添加sqlserver的jdbc驱动包

在用jdbc的时候,加载驱动类前为啥要下载ojdbc6.jar包或者ojdbc14.jar包。

手动向Maven本地仓库添加ORACLE jdbc驱动

maven仓库如何加载瀚高数据库JDBC驱动

JDBC连接mysql导入jar包后为啥没反应啊

maven打包oracle jdbc驱动