Maven:所有插件和依赖项均带有红色下划线

Spa*_*man 1 intellij-idea maven

有任何想法吗??我下载了 IntelliJ 的 Maven 项目,但无法构建它。我收到依赖项和插件的错误:

(已解决:这是因为我试图在工作中的笔记本电脑上运行它,而公司防火墙阻止我从公共 Maven 存储库下载。谢谢)

在此查看构建日志

在此查看想法日志

玛文

Wel*_*lsh 5

通过查看日志文件,正如人们提到的那样,IntelliJ 无法实际下载依赖项。

原因是:

Caused by: java.lang.RuntimeException: 
org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact org.springframework:spring-aop:pom:4.1.2.RELEASE from/to central (https://repo.maven.apache.org/maven2): 
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)

当您的所有外部流量均由正在执行中间人类型扫描(其中流量被解密、扫描然后重新加密)的公司代理路由时,通常会发生这种情况。

我们在办公室也遇到同样的事情,所以我们的解决方案是:

  • 安装您自己版本的 java SDK(例如使用SDKMan
  • 在新安装中,将验证新证书链所需的证书导入到默认信任存储中
    • 有助于在Chrome中访问URL查看证书链
    • 如果它看起来不像屏幕截图那么有一个代理
  • 更新 IntelliJ,使其Project SDK成为新的
  • 更新IntelliJ所以JDK for importer是新的
  • 单击Reimport All Maven ProjectsIntelliJ 中的

这应该允许它继续正常工作,没有问题,或者在 IntelliJ 中,您可以运行 adhoc Maven 目标:

mvn clean install -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
Run Code Online (Sandbox Code Playgroud)

它应该通过忽略所有 SSL 证书问题将所有必需的依赖项安装到本地 Maven 缓存中,但这通常是一个坏主意

此时,您可以单击Reimport All Maven ProjectsIntelliJ 中的 来刷新它,但我发现这总是不起作用,因为 IntelliJ 有时会下载额外的插件依赖项,而这些依赖项可能会超出目标clean install