最近把.net 项目翻译成JAVA 遇到 调用sqlserver 一直报

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

加载找不到驱动 但是我单元测试没有问题啊

在网上找了很多都是说下载 sqljdbc4.jar包 但是现在是2021 年 微软2016年就已经把jdbc 传到 maven 中央仓库了

下面是仓库地址

https://repo.maven.apache.org/maven2/com/microsoft/sqlserver/mssql-jdbc/

有很多版本

Maven pom.xml 配置
<dependency>

    <groupId>com.microsoft.sqlserver</groupId>

    <artifactId>mssql-jdbc</artifactId>

    <version>9.2.1.jre8</version>

</dependency>
由于我之前是 用的9.2.1.jre11 这个版本 与 jdk 不匹配 后面改成9.2.1.jre8 问题来了 单元测试都没问题
但是这个文件 MANIFEST.MF 并没有自动更新修改
那这个文件是干啥的 网上说:
META-INF 目录

  大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。

 

 

我理解是jar 的依赖,类似.net 引用 ,后面手动修改MANIFEST.MF 这个文件 打包发布,问题解决。