com.microsoft.sqlserve r:sqljdbc4:jar:4.0 was not found in......如何解决?
这个错误提示说 com.microsoft.sqlserver:sqljdbc4:jar:4.0
这个依赖无法从 Maven 中央仓库(https://repo.maven.apache.org/maven2)下载,导致项目无法构建。以下是解决该问题的几种方法:
方法一:手动安装依赖
-
下载 JAR 文件:
从 Microsoft JDBC Driver for SQL Server 下载sqljdbc4.jar
。 -
手动安装到本地 Maven 仓库:
使用以下命令将下载的 JAR 文件手动安装到本地 Maven 仓库中:mvn install:install-file -Dfile=path/to/sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar
将
path/to/sqljdbc4.jar
替换为你下载的 JAR 文件的实际路径。
方法二:添加其他仓库
有时,依赖项可能存在于其他仓库中,可以尝试添加一些公共仓库,例如 JCenter 或者其他公司维护的仓库。
在 pom.xml
文件中添加新的仓库:
<repositories><repository><id>jcenter</id><url>https://jcenter.bintray.com/</url></repository>
</repositories>
方法三:强制更新本地仓库
有时,Maven 会缓存依赖解析失败的信息,可以尝试强制更新:
mvn clean install -U
方法四:更换依赖
如果你可以使用较新的驱动程序版本,可以尝试更换为 mssql-jdbc
:
在 pom.xml
文件中替换依赖项:
<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>9.2.1.jre8</version>
</dependency>
选择合适的版本号,这里以 9.2.1.jre8
为例。
方法五:删除本地缓存
删除本地缓存的 com.microsoft.sqlserver
文件夹,然后重新构建项目,Maven 会重新下载依赖项。
-
找到本地 Maven 仓库路径(通常位于
~/.m2/repository
)。 -
删除
com/microsoft/sqlserver
文件夹。 -
重新运行构建命令:
mvn clean install
示例
以下是 pom.xml
的一个示例,假设你使用的是 mssql-jdbc
驱动:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>projectDemo</artifactId><version>1.0.0</version><packaging>jar</packaging><properties><java.version>17</java.version><spring.boot.version>3.1.3</spring.boot.version></properties><dependencies><!-- Spring Boot Starter Dependencies --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- Microsoft SQL Server JDBC Driver --><dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>9.2.1.jre8</version></dependency><!-- Other Dependencies --><!-- ... --><!-- Lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency></dependencies><repositories><repository><id>jcenter</id><url>https://jcenter.bintray.com/</url></repository></repositories><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>
根据以上方法,你应该能够解决依赖下载失败的问题并成功构建项目。