这个错误提示说 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>
根据以上方法,你应该能够解决依赖下载失败的问题并成功构建项目。