执行Maven Site时出现com.querydsl:querydsl-codegen-utils:pom:5.0.0依赖找不到的问题求助
解决Maven Site命令中QueryDSL依赖获取失败的问题
看起来你遇到的问题主要来自三个方面:失效的Spring Roo仓库、Maven的依赖缓存,以及可能的依赖配置问题。下面是一步步的解决方案:
1. 清理Maven的失败依赖缓存
Maven会把依赖获取失败的结果缓存起来,默认不会重试,所以首先要清除这些缓存:
- 手动删除本地仓库对应目录:
找到你的Maven本地仓库路径(默认是~/.m2/repository或C:\Users\<你的用户名>\.m2\repository),删除com/querydsl/querydsl-codegen-utils/5.0.0整个目录。 - 或者直接执行强制更新命令,让Maven绕过缓存重新拉取:
mvn clean site -U
2. 移除失效的Spring Roo仓库
https://spring-roo-repository.springsource.org/release这个仓库已经停止服务,访问被拒绝是正常现象。检查你的pom.xml或者Maven全局settings.xml,如果有配置这个仓库的<repository>节点,直接删除相关配置项。
3. 修正依赖与插件配置
(1)移除错误的插件依赖声明
你的pom.xml在<dependencies>里声明了maven-site-plugin,这是错误的——插件应该放在<build><plugins>中,删除这一项:
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>4.0.0-M3</version> </dependency>
(2)统一Spring Boot版本
你的parent是spring-boot-starter-parent:2.7.1,但所有starter依赖都用了2.7.3版本,容易导致版本冲突。建议要么升级parent版本到2.7.3,要么删除所有starter依赖的<version>标签,让parent统一管理版本:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.3</version> </parent>
(3)优化QueryDSL依赖结构
QueryDSL 5.x版本中,querydsl-codegen-utils通常是querydsl-apt或querydsl-jpa的传递依赖,无需直接声明。保留核心依赖即可,还可以给querydsl-apt添加provided scope(编译期依赖,无需打包):
<dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-apt</artifactId> <version>5.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>5.0.0</version> </dependency>
最后验证
完成上述修改后,执行命令重新尝试生成站点:
mvn clean site
内容的提问来源于stack exchange,提问作者Antoine_m
相关产品推荐
相关产品推荐

