最近把.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 这个文件 打包发布,问题解决。
原文:https://www.cnblogs.com/piaoxuewuming/p/14901391.html