Java Maven:读取项目描述符失败错误
我克隆了一个JAVA repo,当我试图用“mvn安装”构建它时,我得到了以下错误Java Maven:读取项目描述符失败错误,java,maven,Java,Maven,我克隆了一个JAVA repo,当我试图用“mvn安装”构建它时,我得到了以下错误 Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.3.2.RELEASE from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/mave
Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:2.3.2.RELEASE from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.3.2.RELEASE/spring-boot-starter-parent-2.3.2.RELEASE.pom and 'parent.relativePath' points at no local POM @ line 6, column 13: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 2]
回购协议“https://repo.maven.apache.org/maven2“当我在Chrome中打开浏览器时,可以在浏览器中访问它
谷歌搜索之后,我在.m2文件夹中放了一个settings.xml文件,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>securecentral</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>securecentral</id>
<!--Override the repository (and pluginRepository) "central" from the
Maven Super POM -->
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
我的问题是,为什么我需要在settings.xml中手动添加和,为什么我仍然得到camel的错误?谢谢您可以尝试运行
mvn-U clean install
-U
根据is for
强制检查远程服务器上缺少的版本和更新的快照
存储库
或者尝试删除本地存储库文件夹。有时,当网络出现问题时,它会变得一团糟。。。
您可以在.m2文件夹中找到您的本地回购文件夹(在windows上:C:\Users.m2)
您可以删除整个存储库文件夹,也可以只删除其中的一部分。之后,只需运行mvn清洁安装
PKIX路径生成失败:
sun.security.provider.certpath.SunCertPathBuilderException:无法
找到请求目标的有效证书路径
几乎可以肯定,系统上的根CA证书已经过时。
尝试更新您的JDK安装。请注意,您的浏览器使用的CA证书可能与JRE/JDK使用的证书不同 如果不了解系统的更多细节,就很难提供更准确的答案 提供可能的解决方法。好的……开始工作了 @rkosegi的回答让我走上了正确的道路。我的浏览器使用的根CA证书与jdk使用的不同。这就是为什么我可以在浏览器中毫无错误地查看回购协议,但maven无法访问回购协议 不知何故,我的公司(金融机构)有一个根CA证书覆盖所有其他根CA证书,这意味着,当我打开任何网站(例如stackoverflow)时,证书路径总是显示如下: 我不是一个系统管理员,也不知道如何做到这一点,但无论如何,我需要做的就是将根CA证书保存为*.CER文件,并将其添加到jdk的cacert文件夹中
之后,命令“mvn clean install”运行完成,没有错误要访问您的repo,您需要在jdk的安全目录中拥有证书。“请注意,您的浏览器使用的CA证书可能与JRE/jdk使用的证书不同。”嗯……这很有意义……我如何检查JRE/jdk使用的CA证书?我正在使用JDK 11,所以它不是一个过时的版本。有人建议:1)下载浏览器用于本地的CA根证书2)将其复制到$JAVA_HOME/lib/security文件夹,3)然后运行“keytool-importcert-file yourCertFile.pem-keystore cacerts-alias'TheCARoot”。这也是你的建议吗?谢谢
Failed to read artifact descriptor for org.apache.camel.springboot:camel-salesforce-starter:jar:3.4.2: Could not transfer artifact io.dropwizard.metrics:metrics-bom:pom:4.1.9 from/to central (https://repo.maven.apache.org/maven2): Transfer failed for https://repo.maven.apache.org/maven2/io/dropwizard/metrics/metrics-bom/4.1.9/metrics-bom-4.1.9.pom: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]