我在设置 Spring 演示项目时遇到问题,并且在网上找不到解决方案。下面列出了详细信息,我找到了一种让它为我工作的方法(我将添加为答案),也许它会对其他人有所帮助。
我正在遵循使用 Spring 构建 REST 服务的指南:https://spring.io/guides/tutorials/bookmarks/
在指南中,它说转到 https://start.spring.io/并选择以下选项:Web、JPA、H2 和 Lombok。
我下载、解压缩并将其导入到 Eclipse 中的 Spring Tool Suite 中。立即可以看到该项目有问题,所以我右键单击该项目 -> Maven -> 更新项目...这没有解决,所以接下来我做的是:
右键项目 -> 运行方式 -> Maven 安装
这会导致构建失败:
无法在项目restDemo上执行目标:无法解析项目com.example:restDemo:jar:0.0.1-SNAPSHOT的依赖项:无法在org.springframework.boot:spring-boot-starter-web收集依赖项: jar:2.1.1.RELEASE -> org.hibernate.validator:hibernate-validator:jar:6.0.13.Final:无法读取org.hibernate.validator:hibernate-validator:jar:6.0.13.Final的 Artifact 描述符:无法将 Artifact org.jboss.shrinkwrap:shrinkwrap-bom:pom:1.2.3从/到中央(https://repo.maven.apache.org/maven2):sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath .SunCertPathBuilderException:无法找到请求目标的有效证书路径 -> [帮助 1]
我位于公司防火墙后面,我认为这与无法获取所有依赖项有关。
最佳答案
我将其添加到我的 pom.xml 中(注意 url 使用 http 而不是 https):
<repositories>
<repository>
<id>spring-releases</id>
<url>http://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>http://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
最终,我将其放入我的 settings.xml 文件中(位于 C:\Users\user\.m2 目录中),这样我就不必将其添加到我的所有项目 pom.xml 文件中。
关于Spring boot 项目未解析依赖项 - 无法在 org.springframework.boot :spring-boot-starter-web:jar:2. 1.1.RELEASE 处收集依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53565576/